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本身機(jī)制保證了線程安全問題;由于 SingletonHolder 是私有的,除了 getInstance() 之外沒有辦法訪問它,因此它是懶漢式的;同時(shí)讀取實(shí)例的時(shí)候不會(huì)進(jìn)行同步,沒有性能缺陷
2015-10-12
使用靜態(tài)內(nèi)部類的方法