【大道模式】享元模式-FlyWeight Pattern

憶之獨秀發表於2020-12-05

一、什麼是享元模式?

      運用共享技術有效地支援大量細粒度的物件。

 

二、為什麼要用享元模式?

       需要降低細粒度物件給系統帶來的記憶體壓力。

 

三、如何實現享元模式?

      物件池技術,用於減少建立物件的數量,以減少記憶體佔用和提高效能,通過hashmap儲存物件,程式碼模板:

 

public class FlyWeight {
    
    private HashMap<String, Object> flyweight = new HashMap();

    public Object get(String key) {
        if ( flyweight.exist(key) ) {
            return flyweight.get(key);
        }
        
        Object obj = new Object(key);
        flyweight.put(key, obj);
        
        return obj;
    }
}

 

相關文章