《Java程序性能优化》之设计优化
豆瓣讀書:http://book.douban.com/subject/19969386/
?
第一章 Java性能調優概述
1.性能的參考指標
? 執行時間:
? CPU時間:
? 內存分配:
? 磁盤吞吐量:
? 網絡吞吐量:
? 響應時間:
2.木桶定律
? 系統的最終性能取決于系統中性能表現最差的組件,例如window系統內置的評分就是選取最低分。可能成為系統瓶頸的計算資源如,磁盤I/O,異常,數據庫,鎖競爭,內存等。
??性能優化的幾個方面,如設計優化,Java程序優化,并行程序開發及優化,JVM調優,Java性能調優工具的使用等。
3.Amdahl定律
? 加速比=優化前系統耗時/優化后系統耗時,加速比越高,表明優化效果越好。
? 單純增加處理器數量對提升系統性能意義不大,必須同時提高程序的并行化比重。
?
第二章 設計優化
2.2 常用優化組件和方法
1.緩沖Buffer
緩沖最常用的場景就是提高I/O的速度。JDK很多IO組件都提供了緩沖功能。
如:
BufferedWriter對象擁有兩個構造函數:
public BufferedWriter(Writer out);
public BufferedWriter(Writer out,int sz);
第一個將默認構造大小為8K的緩沖區,第二個允許在應用層指定緩沖區的大小。
緩沖區不宜過大,也不宜過小。
同樣,BufferedOutputStream可以包裝所有的OutputStream,為其提供緩沖功能,提高輸出流的效率。
緩沖區對任何一種上下層組件存在性能差異的場合都可以起到很好的效果,典型的例子是,
使用緩沖區提升動畫顯示效果。
2.緩存
緩存也是一塊為提升系統性能而開辟的內存空間,暫存數據處理結果,并提供下次訪問使用。
目前有許多優秀的緩存工具可供使用。
3.對象復用——“池”
對象池化,核心思想是,如果一個類被頻繁的請求使用,不必每次都生成一個實例,可以保存在“池”中,需要時直接獲取。
典型的如線程池和數據庫連接池。
4.并行替代串行
5.負載均衡
負載均衡的典型實現是Tomcat集群,配置Tomcat集群實現負載均衡,可以通過Apache服務器實現。即使用Apache服務器作為負載分配器,將請求轉向各個Tomcat服務器。
兩種基本的Session共享模式。黏性Session模式和復制Session模式。
黏性Session模式下,所有的Session信息被平均分配到各個Tomcat節點上,但是節點宕機,其所維護的session信息將丟失,不具備高可用性,同一個用戶只能與一臺Tomcat交互。
復制session,使得所有session在所有Tomcat節點上保持一致。一個節點的session被修改,會被廣播到其他節點上,保持同步。
總結
以上是生活随笔為你收集整理的《Java程序性能优化》之设计优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jquery radiobutton使用
- 下一篇: 深入探讨 Java 类加载器(一)