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.