Junior — Middle
Jak zaimplementować wzorzec Singleton w języku Java?
sobes.tech AI
Odpowiedź od AI
Wzorzec Singleton gwarantuje, że klasa ma tylko jedną instancję i zapewnia do niej globalny punkt dostępu.
W Javie można to zaimplementować na kilka sposobów. Jedną z prostych i bezpiecznych dla wątków opcji jest użycie leniwej inicjalizacji z słowem kluczowym synchronized lub użycie statycznej klasy wewnętrznej.
Przykład z użyciem statycznej klasy wewnętrznej:
public class Singleton {
private Singleton() {
// prywatny konstruktor
}
private static class Holder {
private static final Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return Holder.INSTANCE;
}
}
Takie podejście gwarantuje, że instancja zostanie utworzona tylko przy pierwszym wywołaniu getInstance(), i jest bezpieczne dla wątków bez użycia synchronized.