Sobes.tech
Junior — Middle

Como implementar a inicialização preguiçosa do padrão Singleton?

sobes.tech IA

Resposta da IA

A inicialização preguiçosa do Singleton em Java permite criar uma instância da classe apenas na primeira vez que ela é acessada, o que economiza recursos. Uma das formas mais comuns é usar uma classe interna estática:

public class Singleton {
    private Singleton() {
        // construtor privado
    }

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

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

Aqui, a classe Holder é carregada e inicializada apenas na primeira chamada a getInstance(), garantindo segurança em ambientes multithread e inicialização preguiçosa sem sincronização.