單列設計模式
使用餓漢式 安全
class Single{
private Single(){};
private static Single single = new Single();
public static Single getSingle(){
return single;
}
}
靜態內部類方式更爲安全和效率更高.靜態內部類不保持外部類的引用,並且只有在內部類加載的時候纔會初始化,保證了初始化的延遲性,而且JVM會保證併發時,不會創建多餘的對象.推薦使用此方法.
public class Singleton {
private Singleton() {
}
public static Singleton getInstance() {
return SingletonInstance.instance;
}
private static class SingletonInstance {
static Singleton instance = new Singleton();
}
}