java的設計模式之單利設計模式 餓漢和懶漢

2021-07-09 07:16:21 字數 874 閱讀 1173

(1)設計模式:

解決某類問題行之有效的方法,是一種思想,是規律的總結

(2)用來保證某個類在記憶體中只有乙個物件

(3)保證唯一性的思想及步驟

**為了避免其他程式建立該類物件,先禁止其他程式建立該類物件,即將建構函式私有化

**為了其他程式訪問到該類物件,須在本類中建立乙個該類私有物件

**為了方便其他程式訪問到該類物件,可對外提供乙個公共訪問方式

比如api中的runtime類就是單例設計模式。

(4)單例設計模式的兩種方式

a:餓漢式 當類載入的時候,就建立物件。        

class student

private static final student s = new student();

public static student getinstance()

}b:懶漢式 當使用的使用,才去建立物件。

class student

private static final student s = null;

public static student getinstance()

return s;}}

餓漢式和懶漢式的區別:

**餓漢式是類一載入進記憶體就建立好了物件;

懶漢式則是類才載入進記憶體的時候,物件還沒有存在,只有呼叫了getinstance()方法時,

物件才開始建立。

**懶漢式是延遲載入,如果多個執行緒同時操作懶漢式時就有可能出現執行緒安全問題,解決執行緒安全問題

可以加同步來解決。但是加了同步之後,每一次都要比較鎖,效率就變慢了,

所以可以加雙重判斷來提高程式效率。

注:開發常用餓漢式,因為餓漢式簡單安全。懶漢式多執行緒的時候容易發生問題

java設計模式之單利模式

在我們做開發的時候,有些類的例項每次都new乙個出來是沒有必要的,因為它太占用記憶體咯。因此,單利模式有了它的用武之地了。最簡單的單利模式如下 private static logcathelper instance null public static logcathelper getinstan...

java設計模式 單利模式

單利模式 確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項,這個類稱為單例類,它提供全 局訪問的方法。單例模式是一種物件建立型模式。三個要點 1 單例類只能有乙個例項。2 單例類必須自己建立自己的唯一例項。3 單例類必須給所有其他物件提供這一例項。使用方法 在單例類的內部實現只生成乙...

Java設計模式 單利模式

設計模式 是一套被反覆使用,多數人知曉,經過分類編碼目的,設計經驗的總結。目的 使用設計模式是為了提高 重用性,讓 更容易讓人理解,並保證 的可靠性。單利模式 顧名思義就是只能有乙個例項,不能再出現第二個,就如同地球上沒有兩片一模一樣的樹葉一樣。在此處即,乙個類只能有乙個實力,且整個專案都能訪問該例...