Sobes.tech
Junior — Middle

Comment implémenter l'initialisation paresseuse du pattern Singleton?

sobes.tech IA

Réponse de l'IA

L'initialisation paresseuse du Singleton en Java permet de créer une instance de la classe uniquement lors de la première utilisation, ce qui économise des ressources. Une des méthodes courantes consiste à utiliser une classe interne statique:

public class Singleton {
    private Singleton() {
        // constructeur privé
    }

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

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

Ici, la classe Holder est chargée et initialisée uniquement lors du premier appel à getInstance(), ce qui assure la sécurité des threads et une initialisation paresseuse sans synchronisation.