性能調優的層次
為了提升系統性能開發人員可以從系統的各個角度和層次對系統進行優化除了最常見的代碼優化外在軟件架構上JVM虛擬機層數據庫以及操作系統層面都可以通過各種手段進行調優從而在整體上提升系統的性能
設計調優
設計調優處於所有調優手段的上層它往往需要在軟件開發之前進行在軟件開發之初軟件架構師就應該評估系統可能存在的各種潛在問題並給出合理的設計方案由於軟件設計和架構對軟件整體質量有決定性的影響所以設計調優對系統性能的影響也是最大的如果說代碼優化JVM優化都是對系統微觀層面上量的優化那麼設計優化就是對系統在宏觀層面上質的優化
設計優化的一大顯著特點是它可以規避某一個組件的性能問題而非改良該組件的實現比如系統中組件A需要等待某事件E才能觸發一個行為如果組件A通過循環監控不斷監測事件E是否發生其監測行為必然會占用部分系統資源因此開發人員必須在監測頻率和資源消耗間取得平衡如果監測頻率太低雖然減少了資源消耗但是系統實時反應性就會降低如果進行代碼層的調優就需要優化監測方法的實現以及求得一個最為恰當的監測頻率
而若將此問題預留在設計層解決便可以使用事件通知的方式將系統行為進行倒置如使用第章中提到的觀察者模式在事件E發生的時刻由事件E通知組件A從而觸發組件A的行為這種設計方法棄用了存在性能隱患的循環監控從根本上解決了這一問題
從某種程度上說設計優化直接決定了系統的整體品質如果在設計層考慮不周留下太多問題隱患那麼這些質上的問題也許無法再通過代碼層的優化進行彌補因此開發人員必須在軟件設計之初認真仔細考慮軟件系統的性能問題
進行設計優化時設計人員必須熟悉常用的軟件設計方法設計模式基本性能組件和常用優化思想並將其有機地集成在軟件系統中
注意一個良好的系統設計可以規避很多潛在的性能問題因此盡可能多花些時間在系統設計上是創建高性能程序的關鍵
返回目錄Java程序性能優化讓你的Java程序更快更穩定
編輯推薦
Visual C++音頻/視頻技術開發與實戰
Oracle索引技術
ORACLEG數據庫開發優化指南
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27846.html