package com.webex.annotation;
//餓漢式: 沒有執行緒安全問題
class singleton
public singleton getinstance()
}// 懶漢式(1):
//單重檢查模式:有重複初始化的情況
class singleton2
return singleton;}}
//懶漢是2:執行緒安全的方式
class singleton3
return singleton;}}
懶漢式3:
//雙重檢查模式: 此處省略
// 懶漢式4:
public class test
final static test instance = new test();
}public test getinstance()
}// 比較:
/*餓漢式是執行緒安全的,在類建立的同時就已經建立好乙個靜態的物件供系統使用,以後不在改變
懶漢式如果在建立例項物件時不加上synchronized則會導致對物件的訪問不是執行緒安全的
推薦使用第一種 ,如果用第二種,則推薦使用懶漢是4*/
單例模式的演進
package com.webex.annotation 餓漢式 沒有執行緒安全問題 class singleton public singleton getinstance 懶漢式 1 單重檢查模式 有重複初始化的情況 class singleton2 return singleton 懶漢是2 ...
單例模式double check的演進及原理
單例單例,就是只允許例項化乙個物件。一般實現方式也就是將構造方法私有化,然後對外暴露乙個獲取例項的介面 單例 可以說源自於設計模式中的單例模式吧,多種實現演進,變得越來越靠譜 最早單例模式分為懶漢式 餓漢式 懶漢式 懶漢式很簡單啊,就是全域性變數宣告時候直接new了,但是這樣會有個占用記憶體的問題,...
單例模式 單例模式
餓漢式 急切例項化 public class eagersingleton 2.宣告靜態成員變數並賦初始值 類初始化的時候靜態變數就被載入,因此叫做餓漢式 public static eagersingleton eagersingleton new eagersingleton 3.對外暴露公共的...