O que é uma inicialização lenta no Singleton?
O que é uma inicialização lenta no Singleton?

Vídeo: O que é uma inicialização lenta no Singleton?

Vídeo: O que é uma inicialização lenta no Singleton?
Vídeo: Como Utilizar o Padrão de Projeto Singleton no PHP [Design Patterns EP 01] 2024, Novembro
Anonim

Inicialização lenta é uma técnica em que se adia o instanciação de um objeto até seu primeiro uso. Em outras palavras, a instância de uma classe é criada quando é necessário usá-la pela primeira vez. A ideia por trás disso é evitar a criação desnecessária de instâncias.

Aqui, o que é inicialização lenta em Java?

Inicialização lenta é uma otimização de desempenho. É usado quando os dados são considerados 'caros' por algum motivo. Por exemplo: se o valor hashCode para um objeto pode não ser realmente necessário para seu chamador, sempre calcular o hashCode para todas as instâncias do objeto pode ser considerado desnecessário.

Também se pode perguntar: como você quebra um singleton? A serialização é usada para converter um objeto de fluxo de bytes e salvá-lo em um arquivo ou enviar pela rede. Suponha que você serialize um objeto de um singleton classe. Então, se você desserializar esse objeto, ele criará uma nova instância e, portanto, pausa a singleton padronizar.

Conseqüentemente, o que é inicialização lenta e rápida?

Inicialização lenta Esta é a técnica em que restringimos a criação do objeto até que seja criado pelo código do aplicativo. De outra forma inicialização ansiosa cria o objeto com antecedência e logo após iniciar o aplicativo ou módulo. Isso é útil no caso de o objeto ser obrigatório e, em todos os casos, funcional.

Qual é a utilidade da classe singleton?

Em Java o Padrão Singleton irá garantir que haja apenas uma instância de um classe é criado na Java Virtual Machine. Isto é usado para fornecer um ponto global de acesso ao objeto. Em termos práticos usar Singleton padrões são usado em registro, caches, pools de threads, definições de configuração, objetos de driver de dispositivo.

Recomendado: