精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-05-20
nianien 写道 zhang34082 写道 第三种与第一种 是一样的机制,都是通过静态块来初始化的
怎么能是一样的呢? 都说了实例化的时间不一样 第一种,只要你第一次引用了类,都会触发单例对象的实例化 而第三种,只要你不去调用getInsance方法,是不永远不会实例化单例对象的 第三种是类加载的时候就实例化了吧 |
|
返回顶楼 | |
发表时间:2011-05-20
单例模式,楼主提到的第一种是比较好的。这些内容在研磨设计模式和漫谈设计模式中都有所讲解,iteye上有他们的博客。
|
|
返回顶楼 | |
发表时间:2011-05-21
画蛇添足
|
|
返回顶楼 | |
发表时间:2011-05-30
第一种就行了,比双重锁check要简单。
|
|
返回顶楼 | |
发表时间:2011-09-29
我不太清楚的是 第一种 怎么解决多线程问题的,有的说是classloader机制,不明白。
|
|
返回顶楼 | |
发表时间: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; } } |
|
返回顶楼 | |
发表时间:2011-09-29
第一种很好啊!
|
|
返回顶楼 | |