2_Modo de coluna única_Modo singleton chinês faminto

1. Modelo singleton estilo faminto

(1) Conceito de padrão singleton estilo faminto

O padrão singleton estilo Hungry é inicializado imediatamente quando a classe é carregada e um objeto singleton é criado . É absolutamente thread-safe . É instanciado antes que o thread apareça. Não há problema de segurança de acesso.

(2) Implementação de código

public class HungrySingleton {
    
    
    private static final HungrySingleton hungrySingleton = new HungrySingleton();
    
    private HungrySingleton(){
    
    }
    
    public static HungrySingleton getInstance(){
    
    
        return  hungrySingleton;
    }
}

(3) Vantagens e desvantagens

  • Vantagens: alta eficiência de execução, alto desempenho, sem travamentos
  • Desvantagens: Em alguns casos, pode causar desperdício de memória, destruição de reflexão e destruição de serialização de singletons.

(4)Cenários de uso

  • O padrão singleton estilo Hungry é adequado para situações onde há poucos objetos singleton. Escrever dessa forma pode garantir segurança absoluta do thread e eficiência de execução relativamente alta.
  • Mas sua deficiência também é óbvia, ou seja, todas as classes de objetos são instanciadas quando são carregadas.Se houver um grande número de objetos singleton no sistema, a inicialização do sistema causará muito desperdício de memória.

Acho que você gosta

Origin blog.csdn.net/jinhuding/article/details/135492029
Recomendado
Clasificación