單例模式 Singleton

2021-07-04 07:29:18 字數 969 閱讀 2005

一.概念

保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。

類圖:

類圖知識點:

1.類圖分為三部分,依次是類名、屬性、方法

2.以《開頭和以》結尾的為注釋資訊

3.修飾符+代表public,-代表private,#代表protected,什麼都沒有代表包可見。

4.帶下劃線的屬性或方法代表是靜態的。

二.實現

1.不考慮效能

public

class

singleton;

private

static singleton singleinstance;

public

synchronized

static singleton getinstance()

return singleinstance;

} }

2.考慮效能:雙重鎖定(double-check locking)

public

class

singleton;

private

volatile

static singleton singleinstance;

public

static singleton getinstance()

} }

return singleinstance; } }

volatile:確保多個執行緒正確處理變數

三.應用場景

1.工具類:logutil

2.資料庫操作類:

3.執行緒池、緩衝cache:

Singleton 單例 模式

singleton 模式的宗旨在於確保某個類只有乙個例項,別且為之提供乙個全域性訪問點。為了防止其他工作人員例項化我們的類,可以為該類建立唯一乙個構造器,並將構造器的可見 設定為私有。值得注意的是,如果我們建立了其他的非私有的構造器,或者根本沒有為該類提 供構造器,那麼其他人員還是能例項化我們的類。...

Singleton 單例 模式

今天看了,單例模式。感覺他的本質就是,控制類例項的個數。特例就是,控制static變數的唯一性,保證各個程式共享著同一例項。乙個例子 package singleton description 這是乙個單例模式的使用demo author kyle goal 實現乙個類僅有乙個例項 singleto...

單例(Singleton)模式

單例模式的特點 singleton模式包含的角色只有乙個,那就是singleton。singleton擁有乙個私有建構函式,確保使用者無法通過new取得singleton的例項。除此之外,該模式中包含乙個靜態私有成員變數instance與靜態公有方法instance。instance方法負責檢驗並例...