1. 程式人生 > >我的設計模式:享元模式

我的設計模式:享元模式

一個 ash 行為 定義 問題 出了 認知 為什麽 重寫

遇到的問題:new了太多對象,內存溢出了!!!

問題思考:為什麽new對象,new代表新的,但是新在哪裏呢?別告訴我new出來的東西地址值不一樣,new一個對象僅僅是為了獲得一個地址值不一樣的對象嗎?No

個人認知:類定義了規定了一群對象的具有的行為和屬性,而不同的對象之間應該表現在屬性值不一樣上啊!!!行為方法無差別

那麽new一個屬性值一樣並且不變的對象將毫無意義!!!

So如何解決這種無意義的內存消耗呢?單例模式、多例子模式、工廠模式+享元模式

享元模式常用技巧:抽取可變屬性、重寫equals和hashcode方法

常見的享元模式思考案例:
String str1 ="HE "

String str2 = "PAN"
String str3 = "HE PAN"
String str4 =str1+str2
System.out.println(str3 == str4)

我的設計模式:享元模式