Sobes.tech
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.