单例模式的四种实现。
一:线程不安全单例模式
public class Factory{
private Factory(){}
private static Factory instance=null;
public static Factory getInstance(){
if(instance==null){
instance=new Factory();
}
return instance;
}
}
二:线程安全低效单例模式
public class Factory{
private Factory(){}
private static Factory instance=null;
public synchronized static Factory getInstance(){
if(instance==null){
instance=new Factory();
}
return instance;
}
}
三:线程安全稍微高效单例模式
public class Factory{
private Factory(){}
private static Factory instance=null;
public static Factory getInstance(){
if(instance==null){
synchronized(Factory.class){
if(instance==null)
instance=new Factory();
}
}
return instance;
}
}
四:最佳单例模式实现方法
public class Factory {
private Factory() {}
public static Factory getInstance() {
return Inner.innerInstance;
}
privatestaticclass Inner {
privatefinalstatic Factory innerInstance=new Factory();
}
}