Effective Java推薦寫法
public?class?Singleton?{?? ????private?static?class?SingletonHolder?{?? ????????private?static?final?Singleton?INSTANCE?=?new?Singleton();?? ????}?? ????private?Singleton?(){}?? ????public?static?final?Singleton?getInstance()?{?? ????????return?SingletonHolder.INSTANCE;? ????}?? }
2015-10-12
使用JVM本身機制保證了線程安全問題;由于 SingletonHolder 是私有的,除了 getInstance() 之外沒有辦法訪問它,因此它是懶漢式的;同時讀取實例的時候不會進行同步,沒有性能缺陷
2015-10-12
使用靜態(tài)內(nèi)部類的方法