论坛首页 Java企业应用论坛

非线程同步机制下线程安全的单例模式——最优的单例模式

浏览 15269 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-05-20  
nianien 写道
zhang34082 写道
第三种与第一种 是一样的机制,都是通过静态块来初始化的

怎么能是一样的呢?
都说了实例化的时间不一样
第一种,只要你第一次引用了类,都会触发单例对象的实例化
而第三种,只要你不去调用getInsance方法,是不永远不会实例化单例对象的

第三种是类加载的时候就实例化了吧
0 请登录后投票
   发表时间:2011-05-20  
单例模式,楼主提到的第一种是比较好的。这些内容在研磨设计模式和漫谈设计模式中都有所讲解,iteye上有他们的博客。
0 请登录后投票
   发表时间:2011-05-21  
画蛇添足
0 请登录后投票
   发表时间:2011-05-30  
第一种就行了,比双重锁check要简单。
0 请登录后投票
   发表时间:2011-09-29  
我不太清楚的是   第一种     怎么解决多线程问题的,有的说是classloader机制,不明白。 
0 请登录后投票
   发表时间:2011-09-29   最后修改:2011-09-29
public class SingleM {

	private static SingleM sm = null;

	public static SingleM getM() {
		if (sm == null) {
			synchronized (sm) {
				if (sm == null) {
					sm = new SingleM();
				}
			}
		}
		return sm;
	}
}
0 请登录后投票
   发表时间:2011-09-29  
第一种很好啊!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics