Was sind die verschiedenen Möglichkeiten, die wir brechen ein singleton-pattern in Java

Was sind die verschiedenen Möglichkeiten, die wir brechen ein singleton-pattern in Java.
Ich kenne einen Weg, d.h. wenn wir synchronisieren nicht die Methode im singleton -, dann können wir es schaffen, mehr als eine Instanz der Klasse. Also die Synchronisation angewendet wird. Gibt es eine Möglichkeit zu brechen singleton java-Klasse.

public class Singleton {
    private static Singleton singleInstance;

    private Singleton() {
    }

    public static Singleton getSingleInstance() {
        if (singleInstance == null) {
            synchronized (Singleton.class) {
                if (singleInstance == null) {
                    singleInstance = new Singleton();
                }
            }
        }
        return singleInstance;
    }
}
  • eigentlich ist dieser code falsch ist, der nicht initialisierten Singleton zugeordnet werden können singleInstance, bevor Konstruktor beendet
  • entfernt ee-tag, da gibt es nichts, ee-spezifische über diese Frage
  • du meinst private static Singleton singleInstance= new Singleton() ?
  • Nein, ich meine, dass die zugewiesenen Objekt gespeichert ist singleInstance vor dem Konstruktor ausgeführt wird, bedeutet dies, dass ein anderer thread Zugriff auf den nicht initialisierten singleton-was zu Fehlern führen kann
  • Gotcha 🙂
InformationsquelleAutor Harsha_2012 | 2013-12-06
Schreibe einen Kommentar