1. Lista de simultaneidade Java na prática
Copie o código do código da seguinte forma:
classe pública Singleton {
classe estática privada SingletonHolder {
recurso Singleton estático público = new Singleton();
}
public static Singleton getResource() {
retornar SingletonHolder.recurso;
}
Singleton privado(){
}
}
2. Java eficaz
Copie o código do código da seguinte forma:
classe pública Singleton {
public static final Singleton INSTANCE = new Singleton();
Singleton privado(){}
método público vazio(){
//...
}
public static void main(String[] a){
//Chama o método.
Singleton.INSTANCE.método();
}
}
3. Use enumerações para criar instâncias únicas de maneira inteligente
Copie o código do código da seguinte forma:
/**
* Use enumerações para criar instâncias únicas de maneira inteligente
*/
enum público Singleton {
EXEMPLO;
método público vazio(){
//...
}
public static void main(String[] a){
//Chama o método.
Singleton.INSTANCE.método();
}
}
4. Bloqueio duplo
Copie o código do código da seguinte forma:
classe pública Singleton {
instância privada estática volátil Singleton = null;
/**
* Impedir que outras pessoas acessem novos objetos
*/
Singleton privado(){
System.out.println("init");
}
public static Singleton getInstance(){
if(instância == nulo){
sincronizado(Singleton.class){
if(instância == nulo){
instância = novo Singleton();
}
}
}
instância de retorno;
}
}