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.