單例(件)模式:確保乙個類只有乙個例項,並提供乙個全域性訪問點。
**實現:
1.懶漢式
2.餓漢式/**
* 通過延遲例項化實現的單例模式
* 使用synchronized處理多執行緒訪問,但是效能較差。
* */
public
class
lazyinstantiazesingleton
public
static
synchronized lazyinstantiazesingleton getinstance()
return instance;
}}
3.雙重鎖定/**
* 急切例項化
* 在jvm載入這個類的時候建立唯一的例項
* 是執行緒安全的
* */
public
class
eagerlysingleton
public
static eagerlysingleton getinstance()
}
/**
* 通過延遲例項化實現單例模式
* 雙重檢查加鎖,首先檢查例項是否建立,
* 如果未建立,才進行同步。
* 這個做法可以大為減少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行 而已,心裡很輕鬆。不過教會了我一些東西。遇到真實的問題 首先把問題梳理清楚,最好能畫出流程圖 然後設計類 設計哪些類,類裡面有什麼變數,什麼函式,這個是需要經驗的。多總結 然後實現類的時候 其實就是實現裡面的方法,注意,一定要寫好偽碼...