單實例 Singleton

    package cn.javass.spring.chapter3.bean;  
    public class Singleton {  
        //1.私有化構造器  
        private Singleton() {}  
        //2.單例緩存者,惰性初始化,第一次使用時初始化  
        private static class InstanceHolder {  
            private static final Singleton INSTANCE = new Singleton();  
        }  
        //3.提供全局訪問點  
        public static Singleton getInstance() {  
            return InstanceHolder.INSTANCE;  
        }  
        //4.提供一個計數器來驗證一個ClassLoader一個實例  
        private int counter=0;  
    }  

以上定義個了個單例類,首先要私有化類構造器;

其次使用InstanceHolder靜態內部類持有單例對象,這樣可以得到惰性初始化好處;

最後提供全局訪問點getInstance,使得需要該單例實例的對象能獲取到;

我們在此還提供了一個counter計數器來驗證一個ClassLoader一個實例。


發佈了23 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章