双重锁检查
public class Singleton_syn {
private static volatile Singleton_syn singleton_syn;
private Singleton_syn() { }
public static Singleton_syn getInstance(){
if(singleton_syn == null){
synchronized(Singleton_syn.class){
if(singleton_syn == null){
singleton_syn = new Singleton_syn();
}
}
}
return singleton_syn;
}
}
静态内部类
public class Singleton_inner {
private Singleton_inner(){};
private static class innerSingleton{
private static Singleton_inner singleton_inner = new Singleton_inner();
}
public static Singleton_inner getInstance(){
return innerSingleton.singleton_inner;
}
}