Heim > Java > javaLernprogramm > Hauptteil

Worauf bezieht sich Holder im Java-Singleton-Modus?

王林
Freigeben: 2023-04-29 11:13:15
nach vorne
1434 Leute haben es durchsucht

Unterschiede

1. In der deklarierenden Klasse deklarieren Mitgliedsvariablen keine Instanzvariablen, sondern werden in statischen inneren Klassen platziert. Dieser Ansatz ähnelt dem eines Faulpelzes. Sie alle verwenden einen Klassenlademechanismus, um sicherzustellen, dass nur ein Thread zum Initialisieren der Instanz vorhanden ist. Der Unterschied besteht darin, dass der Holder-Einzelmodus die Initialisierung der Instanz in eine statische Kategorie einordnet, um ein verzögertes Laden zu erreichen.

Der Kern des Holder-Modus sind immer noch statische Variablen, die praktisch genug und threadsicher sind; echte Beispiele werden über die statische Holder-Klasse gehalten, um indirektes Lazy Loading zu implementieren.

2. Funktionen, Lazy Loading, gute Leistung und Thread-Sicherheit.

Instanzen

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

Das obige ist der detaillierte Inhalt vonWorauf bezieht sich Holder im Java-Singleton-Modus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage