單例模式 懶漢

2021-08-19 15:08:43 字數 598 閱讀 2134

1、執行緒不安全

/**

* 執行緒不安全

*/public

class

private

private

}/**

* 雙重檢測+鎖

*@return

*/public}}

}}

}

2、執行緒安全

/**

* 雙重檢測+鎖+volatile 執行緒安全

*/public

class

private

static

private

}/**

* 雙重檢測+鎖+volatile

*@return

*//** * 1、第一步 分配記憶體空間

* jvm和cpu會進行優化,造成指令重排,所以第二步和第三步有可能發生顛倒,所以可能造成返回的例項沒有具體的資訊

** 解決辦法就是:利用volatile,這個關鍵字可以禁止指令重排

*@return

*/public}}

}}

}

懶漢單例模式

單例設計模式 懶漢單例模式 能夠保證在只有用它的時候才建立它的物件。目前還不能保證乙個類在記憶體中只有乙個物件。懶漢單例模式設計步驟 1 私有化建構函式 2 生命本類的引用型別變數,但是不要建立物件 3 提供公共的靜態方法獲取本類的物件,獲取之前先判斷是否已經建立了本類的物件,如果已經建立了,那麼直...

單例模式 懶漢模式

在實際應用中,我們往往希望在使用的時候才進行類的載入,而不希望類初始化的時候就進行載入,所以單例模式又有了另外一種實現,懶漢模式 一.延遲載入 如下 public class myobject public static myobject getinstance return myobject 延遲...

單例模式 懶漢模式

因為在設計或開發中,肯定會有這麼一種情況,乙個類只能有乙個物件被建立,如果有多個物件的話,可能會導 致狀態的混亂和不一致。這種情況下,單例模式是最恰當的解決辦法。它有很多種實現方式,各自的特性不相同,使 用的情形也不相同。今天要實現的是常用的三種,分別是餓漢式 懶漢式和多執行緒式。單例模式的要點有三...