1.饿汉模式
publicclass HungrySingleton { //立即加载模式privatestatic HungrySingleton hungrySingleton = newHungrySingleton(); privateHungrySingleton(){} publicstatic HungrySingleton getInstance(){ return hungrySingleton; } }
2.懒汉模式
public class LazySingleton {
private static LazySingleton lazySingleton;
private LazySingleton() {}
public static LazySingleton getInstance(){
if(lazySingleton!=null){
}else{
lazySingleton = new LazySingleton();
}
return lazySingleton;
}
}
3. 双重校验锁
public class LazySingleton {
private static LazySingleton lazySingleton;
private LazySingleton() {}
public static LazySingleton getInstance(){
if(lazySingleton!=null){
}else{
synchronized (LazySingleton.class){
if(lazySingleton==null){
lazySingleton = new LazySingleton();
}
}
}
return lazySingleton;
}
}