public class SingleTon{
private static SingleTon INSTANCE = null;
private SingleTon(){}
public static SingleTon getInstance(){
if(INSTANCE == null){
INSTANCE = new SingleTon();
}
return instance;
}
}
二攒读、線程安全且高效的單例模式
1.雙重校驗(yàn)鎖
public class SingleTon{
volatile private static SingleTon INSTANCE = null;
private SingleTon(){}
public static SingleTon getInstance(){
if(INSTANCE == null){
synchronized(SingleTon.class){
if(INSTANCE == null){
INSTANCE = new SingleTon();
}
}
}
return instance;
}
}
2.靜態(tài)內(nèi)部類(lèi)
public class SingleTon{
private SingleTon(){}
private static class Holder{
private static SingleTon INSTANCE = new SingleTon();
}
public static SingleTon getInstance(){
return Holder.INSTANCE;
}
}