public class Singleton_Lazy_DOL {
//1:提供一个私有的空参构造器
private Singleton_Lazy_DOL(){};
//2:指向当前类实例的私有静态引用,使用volatile关键字防止重排序
private static volatile Singleton_Lazy_DOL singleton_Lazy;
//3:提供一个公共的静态方法,当需要时才创建当前类对象
public static Singleton_Lazy_DOL getInstance(){
//进行双重检查,只需在第一次创建时才同步,创建成功后就不再需要获取同步锁
if(singleton_Lazy==null){
synchronized (Singleton_Lazy_DOL.class) {
if(singleton_Lazy==null){
singleton_Lazy=new Singleton_Lazy_DOL();
}
}
}
return singleton_Lazy;
}
}