java優化

1. 單例模式

public class StaticSingleton {
    private StaticSingleton(){
        System.out.println("StaticSingleton is create");
    }
    private static class SingletonHolder{
        private static StaticSingleton instance = new StaticSingleton();
    }
    public static StaticSingleton getInstance() {
        return SingletonHolder.instance;
    }
}


在這個實現中,單例模式使用內部類來維護單例的實例,當StaticSingleton被加載時,其內部類並不會被初始化,故可以確保當StaticSingleton類被載入JVM時,不會初始化單例類,而當getInstance()方法被調用時,纔會加載SingletonHolder,從而初始化instance。同時,由於實例的建立是在類加載時完成,故天生對多線程友好,getInstance()方法也不需要使用同步關鍵字。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章