Sobes.tech
Junior — Middle

Cum se implementează inițializarea leneșă a pattern-ului Singleton?

sobes.tech AI

Răspuns de la AI

Inițializarea leneșă a Singleton în Java permite crearea unei instanțe a clasei doar la prima accesare, economisind resurse. Una dintre cele mai comune metode este utilizarea unei clase interne statice:

public class Singleton {
    private Singleton() {
        // constructor privat
    }

    private static class Holder {
        private static final Singleton INSTANCE = new Singleton();
    }

    public static Singleton getInstance() {
        return Holder.INSTANCE;
    }
}

Aici, clasa Holder este încărcată și inițializată doar la primul apel al metodei getInstance(), asigurând siguranța în medii multi-thread și inițializare leneșă fără sincronizare.