單例模式最終推薦寫法-執行緒安全

最終推薦寫法

public class Singleton{

        private static class SingletonHolder{

           public static Singleton instance = new Singleton();  
    } 
    private Singleton(){}
    //訪問靜態內部類的靜態欄位 從而觸發類的載入  
    public static Singleton newInstance(){
       return SingletonHolder.instance;  
    }             
}

  因為同一個類只載入一次,類載入過程由類載入器負責載入,從而保證執行緒安全。相對於雙重檢測鎖,更加簡潔。