Was ist eine faule Initialisierung in Singleton?
Was ist eine faule Initialisierung in Singleton?

Video: Was ist eine faule Initialisierung in Singleton?

Video: Was ist eine faule Initialisierung in Singleton?
Video: 21: Parallelität in Java: Konstrukte zur Erzeugung, Koordination, Unterbrechung, Verklemmungen 2024, November
Anonim

Faule Initialisierung ist eine Technik, bei der man die Instanziierung eines Objekts bis zu seiner ersten Verwendung. Mit anderen Worten, die Instanz einer Klasse wird erstellt, wenn sie zum ersten Mal verwendet werden soll. Die Idee dahinter ist, unnötige Instanzerstellung zu vermeiden.

Was ist hiervon eine faule Initialisierung in Java?

Faule Initialisierung ist eine Leistungsoptimierung. Es wird verwendet, wenn Daten aus irgendeinem Grund als "teuer" angesehen werden. Zum Beispiel: Wenn der HashCode-Wert für ein Objekt von seinem Aufrufer möglicherweise nicht benötigt wird, kann es als unnötig empfunden werden, den HashCode immer für alle Instanzen des Objekts zu berechnen.

Man kann sich auch fragen, wie macht man einen Singleton kaputt? Die Serialisierung wird verwendet, um ein Objekt eines Byte-Streams zu konvertieren und in einer Datei zu speichern oder über ein Netzwerk zu senden. Angenommen, Sie serialisieren ein Objekt von a Singleton Klasse. Wenn Sie dieses Objekt dann deserialisieren, wird eine neue Instanz erstellt und daher brechen das Singleton Muster.

Was ist folglich eine faule und eifrige Initialisierung?

Faule Initialisierung Bei dieser Technik beschränken wir die Objekterstellung, bis sie vom Anwendungscode erstellt wird. Auf andere Art eifrige Initialisierung erstellt das Objekt im Voraus und direkt nach dem Starten der Anwendung oder des Moduls. Dies ist hilfreich, wenn das Objekt obligatorisch und in allen Fällen funktionsfähig ist.

Wozu dient die Singleton-Klasse?

In Java die Singleton-Muster stellt sicher, dass es nur eine Instanz von a. gibt Klasse wird in der Java Virtual Machine erstellt. es ist Gebraucht um einen globalen Zugriffspunkt auf das Objekt bereitzustellen. In praktischer Hinsicht Singleton verwenden Muster sind Gebraucht in Protokollierung, Caches, Thread-Pools, Konfigurationseinstellungen, Gerätetreiberobjekten.

Empfohlen: