锁定老帖子 主题:java线程死锁与内存溢出
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-11-15
最后修改:2009-11-15
movingboy 写道 jjx333 写道 wangneng_001 写道 你那个broker不一定是单例,虽说你那样写看起来像。。。
单例要么在单例类中写一个自身引用并在构造方法中new一个实例赋予引用,给予一个方法getInstance()或其他什么return这个引用以获取单例,不用同步什么什么的,因为此实例在类加载的时候就初始化了,这就是所谓的饿汉式单例模式,但这种模式有个不好的地方就是当出现误操作(比如将此引用设置为null),这个实例你就不可能再实例化了。 还有就是所谓的懒汉式,在getInstance()方法中判断: private static Factory instance = null; //此类为单例模式,只能通过此方法获取实例 public static Factory getInstance(){ //双锁检测单例模式 if(instance==null){ synchronized(Factory.class){ if(instance==null){ instance = new Factory(); } } } return instance; } ls的是不是 双重检查锁定? 这种方法已经不推荐了! 我有点好奇为什么说“双重检查锁定这种方法已经不推荐了!”,能否说明一下?或者给点相关的文章或讨论的链接? ![]() http://developer.51cto.com/art/200908/143471.htm |
|
返回顶楼 | |