單例模式的演進

2021-06-16 07:14:27 字數 610 閱讀 1258

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.對外暴露公共的...