• 饿汉式单例类

    作者: 陆金龙       发表时间: 2023-01-10 22:17
    饿汉式单例类特点: 1.在类初始化时,已经实例化。 2.本身是线程安全的。 3.不足:一开始就初始化,占用内存。   public class Singleton {       private Singleton() {}       private static final Singleton single = new Singleton();         public sta...
  • 静态内部类单例

    作者: 陆金龙       发表时间: 2023-01-10 22:11
    1.静态内部类单例 public class Instance { private static class InstanceHolder { public static Instance instance = new Instance(); } private Instance() {} public static Instance getInstance() { return InstanceHolder.instance ;   } } 静态内部类单例综合使用了java的类级内部类和多线...
  • volatile+DCL(双重检测)单例

    作者: 陆金龙       发表时间: 2022-12-30 22:28
    关键词:DCL  volatile  
    DCL(Double Check Lock)双重检测锁。减少了锁粒度,如果第一次检查instance不为null,那么就不需要执行下面的加锁和初始化操作。 利用volatile的禁止指令重排特性,弥补并发情形下双重检测单例模式的缺陷。 public class Singleton { // 使用volatile的禁止指令重排特性,避免获取到的实例因指令重排原因未完成初始化,使用时报错。 private volatile static Singleton instance; private Singleton(){ } ...