懒汉式:
getInstance()方法加synchronized关键字则是多线程安全的。
public class Singleton{
private static Singleton instance;
private Singleton(){}
public static (synchronized) Singleton getInstance(){
if(instance == null){
instance = new Singleton();
}
return instance;
}
}
恶汉式:
是多线程安全的。
public class Singleton{
private static Singleton instance = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return instance;
}
}