1. 程式人生 > >隨筆:設計優化原則

隨筆:設計優化原則

    設計優化
    使用單例模式:
    對於頻繁使用的物件,可以省略建立物件所花費的時間.
    由於new次數的減少,對系統記憶體的使用頻率也會降低,減輕GC壓力,縮短GC停頓時間.
    單例模式又有普通單例,同步單例,內部類單例,效能比較完善的是內部類單例.

    代理模式:
    場景1:延遲載入,介面,實現類,代理類
    動態代理
    jdk和cglib的動態代理
    
    享元模式:如果在一個系統中存在多個相同的物件,那麼只需共享一份物件的拷貝,而不必每一次使用都建立新的物件.
    原理:需要一個享元工廠來建立物件,需要建立的時候,如果沒有就建立一個放入hashmap中,下次再從hash取出來使用.
    可以節省重複建立物件的開銷,因為被享元模式維護的相同物件只會被建立一次,當建立物件比較耗時,可以節省大量時間.
    由於建立物件的數量減少,所有對記憶體的需求也減少,使GC壓力降低,系統更快.

    觀察者模式.

   當一個物件的行為依賴於另一個物件的狀態變化時,使用觀察者模式就不需要去實時監聽,只在另一個物件變化時通知觀察者,這樣就節省了系統資源.

    NIO操作很容易成為效能瓶頸,所以儘可能的在I/O讀寫中加入緩衝元件.

    使用快取
    
    使用池,執行緒池和資料庫連線池