2_Einzelspaltenmodus_Hungriger chinesischer Singleton-Modus

1. Singleton-Modell im Hungry-Stil

(1) Singleton-Musterkonzept im Hungry-Stil

Das Singleton-Muster im Hungry-Stil wird sofort initialisiert, wenn die Klasse geladen und ein Singleton-Objekt erstellt wird . Es ist absolut Thread-sicher . Es wird instanziiert, bevor der Thread erscheint. Es gibt kein Problem mit der Zugriffssicherheit.

(2) Code-Implementierung

public class HungrySingleton {
    
    
    private static final HungrySingleton hungrySingleton = new HungrySingleton();
    
    private HungrySingleton(){
    
    }
    
    public static HungrySingleton getInstance(){
    
    
        return  hungrySingleton;
    }
}

(3) Vor- und Nachteile

  • Vorteile: hohe Ausführungseffizienz, hohe Leistung, keine Sperren
  • Nachteile: In einigen Fällen kann es zu Speicherverschwendung, Reflexionszerstörung und Serialisierungszerstörung von Singletons kommen.

(4) Nutzungsszenarien

  • Das Singleton-Muster im Hungry-Stil eignet sich für Situationen, in denen nur wenige Singleton-Objekte vorhanden sind. Das Schreiben auf diese Weise kann absolute Thread-Sicherheit und eine relativ hohe Ausführungseffizienz gewährleisten.
  • Der Nachteil liegt jedoch auch auf der Hand: Alle Objektklassen werden beim Laden instanziiert. Wenn das System eine große Anzahl von Singleton-Objekten enthält, führt die Systeminitialisierung zu einer großen Speicherverschwendung.

Ich denke du magst

Origin blog.csdn.net/jinhuding/article/details/135492029
Empfohlen
Rangfolge