美文网首页
单例模式的三种最佳方式

单例模式的三种最佳方式

作者: 小毕_先生 | 来源:发表于2018-01-11 19:21 被阅读0次
    • 1,提前初始化

      public class Singleton {
      private static Singleton instance = new Singleton();
      private Singleton() {
      }

      public static Singleton getInstance() {
      return instance;
      }
      }

    • 2.双重检查锁定 + volatile。

      public class Singleton {
      private static volatile Singleton instance;

      private Singleton() {
      }

      public static Singleton getInstance() {
      if (instance == null) {
      synchronized (Singleton.class) {
      if (instance == null) {
      instance = new Singleton();
      }
      }
      }
      return instance;
      }
      }

    • 3.延迟初始化占位类模式。

      public class Singleton {
      private static class InstanceHolder {
      public static Singleton instance = new Singleton();
      }

      private Singleton() {
      }

      public static Singleton getInstance() {
      return InstanceHolder.instance;
      }
      }

    相关文章

      网友评论

          本文标题:单例模式的三种最佳方式

          本文链接:https://www.haomeiwen.com/subject/wtmtoxtx.html