Sobes.tech
Junior — Middle

Wie implementiert man das Singleton-Muster in Java?

sobes.tech KI

Antwort von AI

Das Singleton-Muster stellt sicher, dass eine Klasse nur eine Instanz hat, und bietet einen globalen Zugriffspunkt darauf.

In Java kann dies auf verschiedene Weisen implementiert werden. Eine einfache und thread-sichere Variante ist die Verwendung einer lazy Initialisierung mit dem Schlüsselwort synchronized oder die Verwendung einer statischen inneren Klasse.

Beispiel mit einer statischen inneren Klasse:

public class Singleton {
    private Singleton() {
        // privater Konstruktor
    }

    private static class Holder {
        private static final Singleton INSTANCE = new Singleton();
    }

    public static Singleton getInstance() {
        return Holder.INSTANCE;
    }
}

Dieser Ansatz garantiert, dass die Instanz nur beim ersten Aufruf von getInstance() erstellt wird, und ist gleichzeitig thread-sicher ohne Verwendung von synchronized.