class Singleton {
private static Singleton instance= new Singleton();
private Singleton(){}
public static Singleton getInstance() {
return instance;
}
}
class Singleton {
private static Singleton instance;
private Singleton(){}
public static synchronized Singleton getInstance() {
if(instance == null)
instance = new Singleton();
return instance;
}
}
- 双重检查锁定(Double Check Locking),使用synchronized锁定单例类
class Singleton {
private static Singleton instance;
private Singleton(){}
public static Singleton getInstance() {
if(instance == null) {
synchronized(Singleton.class) {
if(instance == null)
instance = new Singleton();
}
}
return instance;
}
}