第一部分 概述
第1章 一般性能
1. 1 性能與優(yōu)化
1. 2 性能的生命周期
1. 2. 1 編碼前
1. 2. 2 編碼期間
1. 2. 3 編碼后
1. 3 性能問題的類型
1. 4 簡單性能層
1. 5 應用程序設計層
1. 5. 1 不好的設計選擇
1. 5. 2 信息隱藏
1. 6 物理層
1. 6. 1 Java語言及其環(huán)境
1. 6. 2 Java與其他環(huán)境的交互
1. 6. 3 持久Java對象
1. 6. 4 時間. 距離和空間
第2章 識別Java性能的工具
2. 1 Java特有的工具
2. 1. 1 Java分析工具
2. 1. 2 第三方Java分析工具
2. 1. 3 簡單的計時測量
2. 1. 4 Verbosegc選項
2. 2 PerfMonitor類
2. 3 系統(tǒng)工具:Windows NT性能監(jiān)視器
2. 4 本章小結
第3章 Java性能問題涉及的領域
3. 1 基本的計時比較
3. 2 即時編譯和靜態(tài)編譯
3. 3 創(chuàng)建和重用對象
3. 4 使用常量
3. 5 使用字符串
3. 6 異常的用法
3. 7 循環(huán)技術
3. 7. 1 循環(huán)常量
3. 7. 2 本地變量
3. 7. 3 盡早地終止循環(huán)
3. 8 造型技術
3. 8. 1 避免丟失類信息
3. 8. 2 避免Instanceof和造型相鄰使用
3. 8. 3 避免不必要的造型和Instanceof
3. 9 同步
3. 10 垃圾回收
3. 11 集合
3. 11. 1 集合框架
3. 11. 2 一般用途的實現
3. 11. 3 向量
3. 11. 4 哈希表
3. 12 本章小結
第二部分 物理性能
第4章 本地/遠程問題
4. 1 實現遠程對象的可能途徑
4. 1. 1 遠程方法調用
4. 1. 2 企業(yè)級Java Bean
4. 1. 3 SanFrancisco的基礎層
4. 2 遠程訪問的開銷
4. 2. 1 如何在Java中書寫和使用遠
程服務程序
4. 2. 2 改變方法調用的粒度
4. 2. 3 遠程訪問的譜線
4. 2. 4 對象粒度
4. 2. 5 性能粒度的含義
4. 2. 6 正確放置數據
4. 2. 7 對象的親合力
4. 2. 8 劃分
4. 3 本章小結
第5章 粒度
5. 1 接口粒度
5. 2 實現粒度
5. 3 粒度和性能
5. 3. 1 例1:一個細粒度設計
5. 3. 2 例2:串行化定單行對象
5. 4 本章小結
第6章 瓶頸
6. 1 為什么很難避免瓶頸
6. 2 同步瓶頸
6. 3 加鎖瓶頸
6. 3. 1 對象和加鎖
6. 3. 2 死鎖和鎖排序
6. 4 垃圾回收瓶頸
6. 5 分布式垃圾回收
6. 6 本章小結
第三部分 基準測試
第7章 Java基準測試概述
7. 1 Java測試程序
7. 1. 1 Pendragon SoffeineMark 3. 0
7. 1. 2 JMark 2. 0
7. 1. 3 VolanoMark 2. 1
7. 1. 4 SPECjvm 98
7. 2 一個簡單的測試程序
7. 3 本章小結
第8章 應用級基準測試
8. 1 BOB基準測試
8. 1. 1 TPC-C概述
8. 1. 2 BOB結構
8. 2 BOB的運行
8. 3 BOB的實現
8. 3. 1 測試程序基礎結構
8. 3. 2 測試程序事務
8. 4 測試程序實體
8. 5 本章小結
第四部分 應用程序環(huán)境
第9章 SanFrancisco及其性能
9. 1 SanFrancisco概述
9. 2 基礎層
9. 2. 1 基礎層對象模型基類
9. 2. 2 業(yè)務對象的生命周期
9. 2. 3 實體的生命周期
9. 2. 4 集合和查詢
9. 2. 5 其他基類
9. 2. 6 基礎對象模型服務
9. 3 通用業(yè)務對象層
9. 4 核心業(yè)務處理層
9. 5 有用的參考資料
9. 5. 1 有關SanFrancisco的書籍
9. 5. 2 有關SanFrancisco的文章
9. 5. 3 有關SanFrancisco的IBM Redbooks
9. 6 本章小結
第10章 企業(yè)級Java Beans及其性能
10. 1 J2EE體系結構和技術
10. 2 企業(yè)級Java Beans
10. 2. 1 選擇一個實現
10. 2. 2 EJB的實現及其性能
10. 3 EJB體系結構及其性能
10. 3. 1 Session Bean
10. 3. 2 Entity Bean
10. 3. 3 Entity Bean的特點
10. 3. 4 EJB的粒度
10. 3. 5 Session Bean和Entity Bean的比較
10. 4 EJS中的特性研究
10. 5 本章小結
第11章 CORBA及Java
11. 1 CORBA概述
11. 2 Java IDL
11. 3 RMI-IIOP
11. 4 RMI over IIOP的性能影響
11. 5 本章小結
第12章 Jini及其性能
12. 1 Jini概述
12. 1. 1 查找
12. 1. 2 發(fā)現
12. 1. 3 租借
12. 1. 4 遠程事件
12. 1. 5 事務
12. 2 Jini中的性能考慮
12. 3 本章小結
第五部分 應用程序模型
第13章 Java的使用
13. 1 網外
13. 2 網內
13. 3 應用程序連接
13. 4 數據庫上
13. 5 應用程序包裝
13. 6 對象下
13. 7 組合方法
13. 8 本章小結
第14章 性能含義
14. 1 網外
14. 2 網內
14. 3 應用程序連接
14. 3. 1 字符編碼及尾數
14. 3. 2 遠程對象的累積
14. 4 應用程序包裝
14. 4. 1 過多的客戶交互
14. 4. 2 容量限制
14. 4. 3 減少客戶一服務器交互
14. 5 數據庫上
14 6 對象下
14. 6. 1 過多的客戶交互
14. 6. 2 過多的遠程對象交互
14. 6. 3 過多的中件交互
14. 6. 4 內存泄漏和對象駐留
14. 6. 5 過多的垃圾回收
14. 7 本章小結
第六部分 擴大應用程序規(guī)模
第15章 系統(tǒng)調整
15. 1 調整內存和系統(tǒng)
15. 1. 1 SanFrancisco解決方案
15. 1. 2 EJB解決方案
15. 1. 3 調整數據庫
15. 1. 4 操作系統(tǒng)內存分配
15. 1. 5 平衡內存要求
15. 2 磁盤配置
15. 3 網絡配置
15. 4 性能調整的過程
15. 5 本章小結
第16章 大規(guī)模的影響
16. 1 應用程序及其環(huán)境
16. 1. 1 內存
16. 1. 2 處理器
16. 1. 3 輸入/輸出
16. 1. 4 軟件
16. 2 大規(guī)模的影響
16. 3 SMP和堆影響
16. 3. 1 在SMP上的堆分配和垃圾回收
16. 3. 2 為什么需要多重服務器
16. 3. 3 對象的布局. 訪問和復制
16. 4 本章小結
附錄A 使用的機器