Java設計優化之享元模式

何為享元模式,大家不要被這個陌生的詞彙所嚇倒,其實筆者感覺這個是最容易理解的,下面請看筆者分析。
享元模式:

所謂享元模式,就是相同對象,在內存中之存在一份,大家都共享著一個實例對象。代碼體現上很像工廠模式,通過工廠找到這個對象,如果存在就直接獲取,如果不存在就創建同時,保存,方便下次直接獲取。以下是代碼

  • 定義接口,可以從這個裡面獲得
Java設計優化之享元模式

  • 定義用戶實現類
Java設計優化之享元模式

  • 具體實現
Java設計優化之享元模式

在Flyweight模式中,由於要產生各種各樣的對象,所以在Flyweight(享元)模式中常出現Factory模式。Flyweight的內部狀態是用來共享的,Flyweight factory負責維護一個對象存儲池(Flyweight Pool)來存放內部狀態的對象。Flyweight模式是一個提高[程序]效率和性能的模式,會大大加快程序的運行速度.

  • 實驗
Java設計優化之享元模式

可以看到雖然從裡面取了10萬次,但是隻用了63ms,切對於這些相同對象,內存中之存在唯一的一份


分享到:


相關文章: