這個(gè)Bob Lee可是相當(dāng)不簡單的說……
他寫的一個(gè)Singleton模式的寫法前不久還得到了OnJava編輯的推薦呢:
代碼
- public class Singleton {
- static class SingletonHolder {
- static Singleton instance = new Singleton();
- }
- public static Singleton getInstance() {
- return SingletonHolder.instance;
- }
- }
在加載singleton時(shí)并不加載它的內(nèi)部類SingletonHolder,而在調(diào)用getInstance()時(shí)調(diào)用SingletonHolder時(shí)才加載SingletonHolder,從而調(diào)用singleton的構(gòu)造函數(shù),實(shí)力化singleton,從而達(dá)到lazy loading的效果。