码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之--单列模式

时间:2014-09-23 21:17:25      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:style   io   使用   数据   sp   on   c   new   size   

单例模式就是某个类只存在一个对象(只new 一次),当某个类的初始化比较耗时,耗资源的时候,
比如hibernate写在Dao模式中
创建session的时候必须写成单例模式,因为你每做一次数据库的操作,都必须创建一个session,
这时候用单例模式是最好的,每次都只是同一个实例,sessionFactory 这个是单例的当然了是一个数据库的时候是单例的,
整个服务仅使用这么一个工厂就足够了。好多工厂类基本上都是单例的。


单列模式中的两种基本模式 饿汉式懒汉式。
饿汉式是线程安全的,在加载类时创建实例静态的对象供系统使用,以后不在改变。
懒汉式如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的。
懒汉式的优点是延时加载、缺点是应该用同步。

饿汉式(建议使用
class Singleton {
private static Singleton instance=new Singleton();
private Singleton(){}
public static Singleton getInstance() {
return instance;
}
}
懒汉式
class Singleton {
private static Singleton instance=null;
private Singleton(){}
public static synchronized Singleton getInstance() {
if(instance==null)
instance=new Singleton();
return instance;
}
}


设计模式之--单列模式

标签:style   io   使用   数据   sp   on   c   new   size   

原文地址:http://www.cnblogs.com/laotan/p/3943925.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!