In diesem Artikel werden hauptsächlich relevante Informationen zum JAVA-Aufzählungs-Singleton-Modus und zu Beispielen für die Quellcode-Analyse vorgestellt. Freunde, die sie benötigen, können sich auf
Detaillierte Erläuterungen zu Beispielen für den JAVA-Aufzählungs-Singleton-Modus und die Quellcode-Analyse beziehen 🎜>
Es gibt viele Möglichkeiten, den Singleton-Modus zu implementieren. Es wurde auch online analysiert, dass es am besten ist, den Single-Interest-Modus zu implementieren. Die Vorteile sind nur drei Punkte: 1. Thread-Sicherheit 2. Aufgrund der Serialisierung werden keine neuen Instanzen generiert 3. Reflection-Angriffe verhindern Es scheint jedoch keinen Artikel zu geben, der erklärt, wie der ENUM-Singleton funktioniert Bitte erklären Sie es den Experten. Schauen wir uns diese drei Punkte an:Über das zweite Serialisierungsproblem gibt es einen Artikel, der besagt, dass die Aufzählungsklasse die readResolve()-Methode selbst implementiert, also resistent gegen Serialisierung ist . Diese Methode wird von der aktuellen Klasse selbst implementiert (Lösung) Zum zweiten Punkt: Dreipunkt-Reflexionsangriff Ich habe selbst den folgenden Reflexionsangriff versucht, aber es wurde ein Fehler gemeldet ... Nach dem Lesen der dekompilierten Klasse Im folgenden Quellcode verstehe ich, dass die Änderung der Singleton-Klasse nicht instanziiert werden kann, da sie abstrakt ist. (Lösung) Das Folgende ist ein Enumerations-Singleton, den ich geschrieben habe, und die dekompilierte Klasse seiner Klassendatei Enumerations-Singleton
public enum Singleton { INSTANCE { @Override protected void read() { System.out.println("read"); } @Override protected void write() { System.out.println("write"); } }; protected abstract void read(); protected abstract void write(); }Klassen nach der Dekompilierung wiederhergestellt
Das obige ist der detaillierte Inhalt vonBeispiele für Aufzählungs-Singleton-Muster und Quellcode-Analyse in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!