单例模式-双重检测锁(不建议使用)Demo 拼搏现实的明天。 2022-06-06 01:35 122阅读 0赞 **1.代码** /** * 双重检测锁实现单例模式 * @author lenovo * */ public class SingletonDemo3 { private static SingletonDemo3 instance = null; public static SingletonDemo3 getInstance(){ if(instance == null){ SingletonDemo3 sc; synchronized(SingletonDemo3.class){ sc = instance; if(sc == null){ synchronized(SingletonDemo3.class){ if(sc == null){ instance = new SingletonDemo3(); } } instance = sc; } } } return instance; } } 2.说明 **2.1.由于编译器优化原因和jvm内部模型原因,偶尔会出问题,不建议使用; 2.2.该模式将同步内容,下放到if内部,提高了执行效率,不必每次获取对象时都进行同步,只有第一次才同步,创建了以后就没必要了。**
还没有评论,来说两句吧...