单例模式(Singleton)

  1. 构建
    懒汉方式:指全局的单例实例在第一次被使用时构建。
    饿汉方式:指全局的单例实例在类装载时构建。
 public class Singleton {
    private static class Holder{
        private final Singleton instance = new Singleton();
    }
  
    // Private constructor suppresses   
    private Singleton() {}
 
    // default public constructor
    public static Singleton getInstance() {
        return Holder.instance;
    }
  }
  1. 用静态内部类可以在多线程的情况下,有效的创建对象。
  2. Double Check也是会出现问题的,JIT优化会有指令重排。
  3. 多进程会失效

补充(主体)
单例模式总结
技术小黑屋的总结

你可能感兴趣的:(单例模式(Singleton))