Sobes.tech
Junior — Middle

Como implementar o padrão Singleton em Java?

sobes.tech IA

Resposta da IA

O padrão Singleton garante que uma classe tenha apenas uma instância e fornece um ponto de acesso global a ela.

Em Java, isso pode ser implementado de várias maneiras. Uma das opções simples e segura para threads é usar inicialização preguiçosa com a palavra-chave synchronized ou usar uma classe interna estática.

Exemplo usando 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;
    }
}

Essa abordagem garante que a instância seja criada apenas na primeira chamada a getInstance(), além de ser segura para threads sem usar synchronized.