餓漢式:
package com.example.administrator.hideintent;
/** * created by dhl on 2016/12/19.
* 餓漢式單例類,在類初始化的時候,已經自行例項化
*/public class singletonclass
public static singletonclass getinstance()
}
懶漢式:
package com.example.administrator.hideintent;
/** * created by dhl on 2016/12/19.
* 單例類,在第一次呼叫的時候,例項化自己,
*/public class singletonclass
public static singletonclass getinstance()
return singletonclass ;
}}
package com.example.administrator.hideintent;
/** * created by dhl on 2016/12/19.
* 單例類,在第一次呼叫的時候例項化自己,加鎖
*/public class singletonclass
public static singletonclass getinstance()}}
return singletonclass ;
}}
總結:1,餓漢式是執行緒安全的,在類建立的時候就建立乙個靜態的例項供系統使用,以後不再改變。如果該例項在系統中經常使用,餓漢式是個不錯的選擇。
2,懶漢式, 如果不加鎖,則執行緒不安全。缺點是加鎖效能有所損耗,優點是延時載入。如果該例項沒有頻繁被用到,懶漢式是個不錯的選擇。
單例模式 探索之旅
當程式中需要在多處用到乙個類的同乙個例項時,我們通常得給此類宣告乙個全域性變數,不然只有通過函式鏈傳遞此類例項的引用,然而這兩種方式都存在一定問題,特別是要考慮執行緒安全時。我們需要一種更方便安全的方式來應對多處用到乙個類的同乙個例項問題。程式生命週期中,保證類只有乙個例項,且提供乙個訪問它的全域性...
java單例模式
第一種方法 public class singleton private static singleton singleton new singleton public static singleton getinstance 第二種方法 public class singleton private...
Java 單例模式
單例模式特點 1 單例類只能有乙個例項。2 單例類必須自己自己建立自己的唯一例項。3 單例類必須給所有其他物件提供這一例項。一 餓漢式單例 基於classloder機制避免了多執行緒的同步問題,使用較多 public class singleton 這裡提供了乙個供外部訪問本class的靜態方法,可...