首頁  >  文章  >  Java  >  java單例模式中Holder指的是什麼

java單例模式中Holder指的是什麼

王林
王林轉載
2023-04-29 11:13:151434瀏覽

區別

1、在宣告類別中,成員變數不宣告實例變量,而是放置在靜態內部類別中。這種方法類似懶漢。他們都採用類別裝載機制,以確保初始化實例只有一個執行緒。不同的是,Holder單一模式是將實例的初始化放入靜態類別從而實現懶載入。

Holder模式的核心還是靜態變量,足夠方便,線程安全;透過靜態Holder類別持有真實例子,間接實現懶惰載入。

2、特點,既實現懶加載,性能好,線程安全。

實例

public class Singleton {
      /**
       * 类级的内部类,也就是静态的成员式内部类,该内部类的实例与外部类的实例
       * 没有绑定关系,而且只有被调用到才会装载,从而实现了延迟加载
       */
      private static class SingletonHolder{
          /**
           * 静态初始化器,由JVM来保证线程安全
           */
         private static Singleton instance = new Singleton();
     }
     /**
      * 私有化构造方法
      */
     private Singleton(){
     }
     public static  Singleton getInstance(){
         return SingletonHolder.instance;
     }
 }

以上是java單例模式中Holder指的是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除