Problem2 实现Singleton模式
public class Singleton {
//懒汉式单例线程不安全的
private Singleton(){}
private static Singleton instance = null;
public static Singleton getInstance(){
if(instance == null){
instance = new Singleton();
}
return instance;
}
}
public class Singleton1 {
//懒汉式单例
private Singleton1(){}
private static final Singleton1 singleTon = new Singleton1();
public Singleton1 getInstance(){
return singleTon;
}
}
public class Singleton2 {
//双重检验锁
private Singleton2(){}
private static Singleton2 singleTon = null;
public static Singleton2 getInstance(){
if(singleTon == null){
synchronized(Singleton2.class){
if(singleTon == null){
singleTon = new Singleton2();
}
}
}
return singleTon;
}
}