懶漢式
public class Singleton {
private static Singleton singleton = null;
// 構造方法私有化
private Singleton() {
}
public static Singleton getInstance() {
if (null == singleton) {
synchronized (Singleton.class) {
if (null == singleton) {
singleton = new Singleton();
}
}
}
return singleton;
}
}
餓漢式
public class Singleton {
// 構造方法私有化
private Singleton() {
}
private static Singleton singleton = new Singleton();
public static Singleton getInstance() {
return singleton;
}
}
使用內部類實現
public class Singleton{
private Singleton(){
}
private static class innerClass {
private static Singleton singleton = new Singleton();
}
public static Singleton getIntance(){
return innerClass.singleton;
}
}