Junior — Middle
Em que momento ocorre a criação da instância do Singleton?
sobes.tech IA
Resposta da IA
A criação de uma instância do padrão Singleton ocorre no momento do primeiro acesso a essa instância, se for utilizado um método de inicialização preguiçosa (lazy).
Ou seja, o objeto é criado na primeira chamada ao método que retorna a instância Singleton, por exemplo, getInstance(). Isso permite adiar a criação do objeto até que seja necessário, economizando recursos.
Exemplo de inicialização preguiçosa do Singleton em Android/Java:
public class Singleton {
private static Singleton instance;
private Singleton() {
// construtor privado
}
public static synchronized Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
Se, por outro lado, a inicialização na carga da classe (eager initialization) for usada, então a instância é criada imediatamente ao carregar a classe, antes do primeiro acesso.