Effiziente Implementierung des Singleton-Patterns in Java
Hallo zusammen! Ich bin ein Java-Anfänger und lerne gerade Design Patterns. Ich bin beim Singleton angelangt, aber ich bin bei der Implementierung verwirrt.
Problem: Ich muss eine Klasse erstellen, die garantiert nur eine einzige Instanz in der gesamten Anwendung hat. Ich habe eine einfache Variante mit Lazy-Initialisierung geschrieben, aber sie funktioniert in einer Multithread-Umgebung nicht richtig. Hier ist mein Code:
```java
public class ConfigManager {
private static ConfigManager instance;
private ConfigManager() {}
public static ConfigManager getInstance() {
if (instance == null) {
instance = new ConfigManager();
}
return instance;
}
}
```
Wenn ich einen Test mit mehreren Threads starte, werden manchmal mehrere Instanzen erstellt. Ich habe über synchronized gelesen, aber ich habe Angst, dass das zu stark