java懒加载创建实例代码详解

 

  36套java进阶高级架构师视频+38套大数据视频  保证全是硬货需要的
    +微信:
    du13797566440 
/**

*
 * 描述:懒加载
 * 作者: dlj
 * 时间: 2017年12月22日 下午4:21:25
 */
public class Single {


/***
* 方法1  静态内部类 
*懒加载模式的优化版,在类被装载时,静态内部类并没有被实例化,
* 只有getInstance()时才 会装载 SingletonHolder 类,静态内部类方式也能很好地,实现线程安全、高效率和延迟加载特性。
*/
private static class Holder {
private static final Single INST3 = new Single();
}
public static Single getInstance() {
return Holder.INST3;
}



/***
*方法2 懒加载模式普通版(dbck)  第一个if控制线程是否加锁,第二个if判断是否创建实例 作者: dlj 时间: 2017年12月22日 下午4:02:31
*/
private static Single s = null;
public static Single getInstends() {
if (s == null) { 
synchronized (Single.class) {
if (s == null) {
s = new Single();
}
}
}
return s;
}


}

你可能感兴趣的:(多线程,设计模式)