GOF23設計模式 單例(2)

2021-07-29 20:04:45 字數 1216 閱讀 8813

package org.test.singleton;

/** *

*@classname: singletondemo3

*@description: 雙重檢測鎖實現單例(不考慮)

*@author administrator

*@date 2023年3月30日

**/public

class

singletondemo3 ;

public

static singletondemo3 getinstance()

}instance = sc;}}

}return instance;

}}

package org.test.singleton;

/** *

*@classname: singletondemo4

*@description: 靜態內部類實現單例

* 1.外部類沒有static屬性,則不會像餓漢式在類載入時立即初始化例項

* 2.只有呼叫getinstance()才會載入靜態內部類,載入類是執行緒安全的。instance

* 是static final 型別,保證記憶體中只會有這樣乙個例項存在,而且只能被賦值一次,

* 保證了執行緒安全。

*@author administrator

*@date 2023年3月30日

* */

public

class

singletondemo4

private

singletondemo4()

public

static singletondemo4 getinstance()

}

package org.test.singleton;

/** *

*@classname: singletondemo5

*@description: 列舉實現單例(沒有延時載入)

*@author administrator

*@date 2023年3月30日

**/public

enum singletondemo5

}

GOF23設計模式(單例模式)

保證乙個類只有乙個例項,並且提供乙個訪問該例項的全域性訪問點。單例模式的優點 1.由於單例模式只生成乙個例項,減少了系統效能開銷,當乙個物件的產生需要比較多的資源時,如讀取配置 產生其他依賴物件時,則可以通過在應用啟動時直接產生乙個單例物件,然後永久駐留記憶體的方式來解決 2.單例模式可以在系統設定...

設計模式GOF23之單例模式

單例模式的五種方式 主要 懶漢式,餓漢式 其他 雙重檢測鎖 double checking模式 靜態內部類,列舉模式 選取時機 延時載入,占用內部資源大 靜態內部類好於懶漢 不延時載入,占用內部資源小 列舉好於餓漢 單例模式 懶漢式 author 小帆敲 public class demo01 上鎖...

設計模式GOF23之單例模式

單例模式的五種方式 主要 懶漢式,餓漢式 其他 雙重檢測鎖 double checking模式 靜態內部類,列舉模式 選取時機 延時載入,占用內部資源大 靜態內部類好於懶漢 不延時載入,占用內部資源小 列舉好於餓漢 單例模式 懶漢式 author 小帆敲 public class demo01 上鎖...