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

Der Code erklärt das Singleton-Muster von Java

angryTom
angryTomnach vorne
2019-11-26 14:37:231882Durchsuche

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;
    }

}

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;
    }
}

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen