前言
在之前的文章,我們已經(jīng)講過了單例模式的線程不安全模式,大家有興趣的可參考以下文章:
單例模式(一)—懶漢模式
單例模式(二)—懶漢模式(線程安全模式)
單例模式(三)—餓漢模式
今天講講懶漢雙鎖模式,涉及的內(nèi)容有:
-
懶漢雙鎖模式實(shí)現(xiàn)步驟 -
懶漢雙鎖模式實(shí)現(xiàn)代碼 -
懶漢雙鎖模式優(yōu)化
一. 懶漢雙鎖模式 實(shí)現(xiàn)步驟
- 寫一個(gè)
private無參構(gòu)造函數(shù) - 聲明
private static該類對象 - 寫一個(gè)
public static的獲取該類對象的方法,在該方法中首先對該類對象是否為空做判斷,若為空,則給該類添加同步鎖synchronized,在同步方法內(nèi)再度判斷該類對象是否為空,若為空則初始化該對象
二. 懶漢雙鎖模式 實(shí)現(xiàn)代碼
下面給出懶漢雙鎖模式實(shí)現(xiàn)代碼: