單例模式Java實現 餓漢式和懶漢式

2021-09-11 07:46:54 字數 831 閱讀 8040

加粗樣式單例模式:即保證在記憶體中乙個類的物件只能有唯一的乙個。

為了保證物件的唯一性,首先需要將方法的構造方法私有化,

其次,我們還需要在類中需要進行建立物件的操作,當然,也是私有化建立物件。

為了保證物件的獲取,getinstance()方法**(getinstance意思為獲取例項,此方法需要返回類的例項化物件)**需要是public修飾的,這樣,乙個最簡單的單例模式就構建好了。

/**

* **模式_餓漢式

*/class person_1

public static person_1 getinstance()

}public class test

}//輸出結果

在建立物件和返回例項化物件時使用static修飾的目的是在類載入時就完成初始化,避免在類的外部無建立類物件。

懶漢式單例模式與餓漢式單例模式的區別在於懶漢式會先判斷是否已經存在例項化物件,如果存在,直接返回已存在的物件,如果不存在,則建立物件,再返回。在判斷和建立這裡可能會有執行緒安全問題,我們需要用double_check來解決。

/**

* **模式,,懶漢式

*/class person

public static person getinstance()

return shy_black;

}}public class test

}//測試結果

測試結果表明在類外部獲取例項物件時,物件僅為同一物件,符合單例模式。

Java單例模式 懶漢式和餓漢式

單件模式屬於工廠模式的特例,只是它不需要輸入引數並且始終返回同一物件的引用。1 當類只能有乙個例項而且客戶可以從乙個眾所周知的訪問點訪問它時。2 當這個唯一例項應該是通過子類化可擴充套件的,並且客戶應該無需更改 就能使用乙個擴充套件的例項時。下面對單件模式的懶漢式與餓漢式進行簡單介紹 1 餓漢式 在...

Java單例模式 懶漢式和餓漢式

單件模式用途 單件模式屬於工廠模式的特例,只是它不需要輸入引數並且始終返回同一物件的引用。如果我們能夠保證系統中自始至終只有唯一乙個資料庫連線物件,顯然我們會節省很多記憶體開銷和cpu利用率。這就是單件模式的用途。當然單件模式不僅僅只用於這樣的情況。在 設計模式 可復用物件導向軟體的基礎 一書中對單...

懶漢式單例模式和餓漢式單例模式

單例模式測試類 1 package finalsingleton 23 public class test 17 餓漢式單例模式 1 package finalsingleton 2 3 餓漢式單例模式4 author likainian 5 1784186573 qq.com6 7public c...