Headfirst java設計模式 單例模式

2021-08-22 08:15:08 字數 910 閱讀 9146

單例(件)模式:確保乙個類只有乙個例項,並提供乙個全域性訪問點。

**實現:

1.懶漢式

/**

* 通過延遲例項化實現的單例模式

* 使用synchronized處理多執行緒訪問,但是效能較差。

* */

public

class

lazyinstantiazesingleton

public

static

synchronized lazyinstantiazesingleton getinstance()

return instance;

}}

2.餓漢式

/**

* 急切例項化

* 在jvm載入這個類的時候建立唯一的例項

* 是執行緒安全的

* */

public

class

eagerlysingleton

public

static eagerlysingleton getinstance()

}

3.雙重鎖定

/**

* 通過延遲例項化實現單例模式

* 雙重檢查加鎖,首先檢查例項是否建立,

* 如果未建立,才進行同步。

* 這個做法可以大為減少synchronized對效能的影響

* */

public

class

doublechecksingleton

public

static doublechecksingleton getinstance() }}

return instance;

}}

Headfirst java設計模式 裝飾者模式

裝飾者模式 動態的將責任附加到物件上。若要擴充套件功能,裝飾者模式提供了比繼承更有彈性的替代方案。實現 1 先宣告beverage和condimentdecorator兩個抽象類 public abstract class beverage public abstract double cost p...

Headfirst java設計模式 外觀模式

外觀模式 提供乙個統一的介面,用來訪問子系統中的一群介面。外觀模式定義了乙個高層介面,讓子系統更容易使用。簡而言之 外觀模式目的是讓介面更簡單。public class amplifier public void off public void setcd cdplayer cdplayer pub...

記錄 Head first java 第五章

一開始很害怕第五章。現在自己碼一遍 覺得其實也沒什麼,短短60行 而已,心裡很輕鬆。不過教會了我一些東西。遇到真實的問題 首先把問題梳理清楚,最好能畫出流程圖 然後設計類 設計哪些類,類裡面有什麼變數,什麼函式,這個是需要經驗的。多總結 然後實現類的時候 其實就是實現裡面的方法,注意,一定要寫好偽碼...