Junior — Middle
179
Jak zaimplementować leniwą inicjalizację wzorca Singleton?
Odpowiedź od AI
sobes.tech AI
Leniwa inicjalizacja Singleton w Java pozwala na tworzenie instancji klasy tylko przy pierwszym odwołaniu się do niej, co oszczędza zasoby. Jednym z powszechnych sposobów jest użycie wewnętrznej statycznej klasy:
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;
}
}
Tutaj klasa Holder jest ładowana i inicjalizowana tylko przy pierwszym wywołaniu getInstance(), co zapewnia bezpieczeństwo wątków i leniwe inicjalizowanie bez synchronizacji.