Este artigo descreve o uso de dois padrões de singleton em Java. Compartilhe -o para sua referência, como segue:
De acordo com o método de carregamento, existem duas implementações do Singleton Mode:
Privado: usado apenas na mesma classe
estático: esta classe é um método de classe e não pode chamar métodos de instância. /Classe Global Variable
Final: o método ou a variável de membro não pode ser modificada
1. Estilo faminto do homem
classe pública Eagersigleton {private estático final Eagersigleton Instância = new Eagersigleton (); private Eagersigleton () {} //// Construtor privado Public Eagersigleton getInstance () {// Método de fábrica estática Instância de retorno;}}}}}}}}}2. Cara preguiçoso
classe pública lazysigleton {private estático final lazysigleton instância = null; private lazysigleton () {} // construtor privado public sincronizado lazysigleton getInstance () {// método de fábrica estática, observe o synchronizedif (instância} {) {{=}}Análise e comparação:
Semelhanças:
O padrão de singleton pertence ao padrão de criação, garantindo que apenas uma instância dessa classe exista na mesma JVM. Nos dois padrões de singleton acima, pode ser visto:
Os construtores de ambos os métodos são privados.
② Interfaces externas são todos métodos de fábrica.
Diferenças:
O estilo faminto recebe diretamente uma instância desta classe quando a classe é carregada. Pode -se dizer que a fórmula está vinculada no estágio inicial. O estilo preguiçoso não aponta para um objeto específico quando a classe é carregada. Em vez disso, é instanciado após a chamada do método da fábrica. Portanto, o primeiro é rápido e o último é lento. Mas o último pode carregar outras classes, que são altamente flexíveis (ou seja, expansão dinâmica).
Para mais conteúdo relacionado a Java, os leitores interessados neste site podem visualizar os tópicos: "Estrutura de dados Java e tutorial de algoritmo", "Resumo da operação Java Dom Node Tips", "Resumo de Dicas de Operação de Arquivos e Diretórios de Java" e "Resumo das dicas de operação do Java Cache"
Espero que este artigo seja útil para a programação Java de todos.