您的位置:首页 > 其它

常用设计模式总结--单立模式

2011-06-09 23:06 357 查看
单立模式,singleton

单立模式保证一个类只有一个实例,在java程序中,用static实现起来相对容易。

public class ItnpSearcherDaoFactory {

... ...

public static ItnpSearcherDaoFactory INSTANCE = new ItnpSearcherDaoFactory();

}

static在类载入的时候,就已经初始化了,所以只会出现一个INSTANCE。

这种方法,不是所有的都使用,有些实例可能在用的时候实例化更有效率,需要注意的是的这个Singleton采用的double-check锁,防止出现并发的问题。

package zl.study.designpattern.singleton;
public class Singleton {
public Singleton getSingleton(){
/**
* double checked locking
* http://en.wikipedia.org/wiki/Double-checked_locking */
if( null == _instance ){
synchronized(dumy){
if( null == _instance){
_instance = new Singleton();
}
}
}
return _instance;
}
private Singleton _instance;
private Object dumy = new Object();
}


关于double-check的锁,在以后的java并发编程的时候还是会提到,细节可以参考
http://en.wikipedia.org/wiki/Double-checked_locking
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: