Heim > Java > JavaBase > Der Code erklärt das Singleton-Muster von Java

Der Code erklärt das Singleton-Muster von Java

angryTom
Freigeben: 2019-11-26 15:45:37
nach vorne
1938 Leute haben es durchsucht

Der Code erklärt das Singleton-Muster von Java

Das Singleton-Muster kann als eines der am häufigsten verwendeten Entwurfsmuster bezeichnet werden. Seine Hauptfunktion besteht darin, sicherzustellen, dass eine Klasse nur eine Instanz hat und einen globalen Zugriffspunkt bereitstellt es, mit strenger Kontrolle der Benutzerzugriffsmethode.

Der Singleton-Modus ist in Lazy-Modus und Hungrig-Modus unterteilt. Lassen Sie uns zunächst über den Hungrig-Modus sprechen:

Hungriger Modus

Hungriger Modus ein bisschen wie hungrig zu sein, wie jemand, der schon lange hungrig ist und so lange isst, wie ihm jemand etwas gibt, unabhängig davon, ob das Essen schmeckt oder ob er es essen kann. Der Code lautet wie folgt:

rrree

Es handelt sich um eine statische Initialisierungsmethode. Das Objekt wird instanziiert, sobald die Klasse geladen wird, aber der Nachteil ist, dass es so ist belegt im Voraus Systemressourcen. Zu diesem Zeitpunkt erscheint der Lazy-Modus:

(Empfohlenes Video: Java-Video-Tutorial)

Lazy-Modus

Im Vergleich zum Hungrig-Mann-Modus, bei dem es nicht um eine selektive Nahrungsauswahl geht, bedeutet der Lazy-Man-Modus, dass Sie nur dann essen, wenn das Essen zum Mund geführt wird, andernfalls bewegen Sie Ihren Mund nicht, egal wie hungrig Sie sind. Der Code lautet wie folgt:

public class Singleton {
    private static Singleton instance = new Singleton();

    private Singleton (){}

    public static Singleton getInstance() {
        return instance;
    }

}
Nach dem Login kopieren

Wenn jedoch mehrere Threads gleichzeitig die Methode getInstance() aufrufen, ist es möglich, mehrere Instanzen zu erstellen, sodass diese Version des Threads nicht sicher ist, daher das Folgende Version wird erstellt:

public class Singleton{

    private static Singleton instance;

    private Singleton(){}

    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}
Nach dem Login kopieren

Verwenden Sie die Doppelsperrmethode, um sicherzustellen, dass bei Instanz == null mehrere Threads beim Aufruf der getInstance()-Methode die erste Beurteilungsebene bestehen können.

Unter normalen Umständen kann der Singleton-Modus von Hungry Han die meisten Anforderungen erfüllen. Dies ist die Grundsituation des Singleton-Modus.

Dieser Artikel stammt von der chinesischen PHP-Website, Spalte Java-Tutorial, willkommen zum Lernen!

Das obige ist der detaillierte Inhalt vonDer Code erklärt das Singleton-Muster von Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.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