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; } }