大話JAVA性能優(yōu)化 (周明耀) 高清PDF掃描版[117MB]
116.9MB / 06-11
Java性能權(quán)威指南 ((美)奧克斯) 中文完整pdf掃描版[66MB]
66.1MB / 03-15
Java程序性能優(yōu)化- 讓你的Java程序更快、更穩(wěn)定 PDF掃描版
106.28MB / 05-07
Java性能調(diào)優(yōu)指南 ([美]Charlie Hunt等) 帶目錄完整pdf[42MB]
42.6MB / 06-05
-
深入理解高并發(fā)編程(第1版) 冰河 中文pdf版 java電子書 / 8.4MB
-
-
-
springcloud學習筆記+中文學習文檔 PDF完整版 java電子書 / 6.46MB
-
Java后端體系高級面試題 中文PDF版 java電子書 / 2.19MB
-
java二十二種設計模式 pdf完整版 java電子書 / 0.98MB
-
java高并發(fā)筆記 中文pdf完整版 java電子書 / 3.5MB
-
-
2024年Java面試寶典合集 完整版PDF java電子書 / 36.7MB
-
JAVA中高級開發(fā)面試寶典v8.0版本+后端 完整版PDF java電子書 / 6.19MB
詳情介紹
Java性能優(yōu)化權(quán)威指南主要為Java SE 和Java EE 應用的性能調(diào)優(yōu)提供建議。主要包括以下幾方面:性能監(jiān)控、性能分析、Java HotSpot VM 調(diào)優(yōu)、高效的基準測試以及Java EE 應用的性能調(diào)優(yōu)。
《Java性能優(yōu)化權(quán)威指南》適合所有Java 程序員、系統(tǒng)調(diào)優(yōu)師和系統(tǒng)架構(gòu)師閱讀。
Java性能優(yōu)化權(quán)威指南 目錄:
第1章 策略、方法和方法論 1
1.1 性能問題的現(xiàn)狀 1
1.2 性能分析的兩種方法:自頂向下和自底向上 4
1.2.1 自頂向下 4
1.2.2 自底向上 5
1.3 選擇正確的平臺并評估系統(tǒng)性能 5
1.3.1 選擇正確的CPU架構(gòu) 6
1.3.2 評估系統(tǒng)性能 7
1.4 參考資料 7
第2章 操作系統(tǒng)性能監(jiān)控 8
2.1 定義 8
2.2 CPU使用率 9
2.2.1 監(jiān)控CPU使用率:Windows 9
2.2.2 監(jiān)控CPU使用率:Windows typeperf 12
2.2.3 監(jiān)控CPU使用率:Linux 13
2.2.4 監(jiān)控CPU使用率:Solaris 14
2.2.5 命令行監(jiān)控CPU使用率:Linux和Solaris 16
2.3 CPU調(diào)度程序運行隊列 19
2.3.1 監(jiān)控CPU調(diào)度程序運行隊列:Windows 19
2.3.2 監(jiān)控CPU調(diào)度程序運行隊列:Solaris 21
2.3.3 監(jiān)控CPU調(diào)度程序運行隊列:Linux 21
2.4 內(nèi)存使用率 22
2.4.1 監(jiān)控內(nèi)存利用率:Windows 22
2.4.2 監(jiān)控內(nèi)存使用率:Solaris 23
2.4.3 監(jiān)控內(nèi)存使用率:Linux 24
2.4.4 監(jiān)控鎖競爭:Solaris 25
2.4.5 監(jiān)控鎖競爭:Linux 26
2.4.6 監(jiān)控鎖競爭:Windows 27
2.4.7 隔離競爭鎖 27
2.4.8 監(jiān)控搶占式上下文切換 27
2.4.9 監(jiān)控線程遷移 28
2.5 網(wǎng)絡I/O使用率 28
2.5.1 監(jiān)控網(wǎng)絡I/O使用率:Solaris 29
2.5.2 監(jiān)控網(wǎng)絡I/O使用率:Linux 30
2.5.3 監(jiān)控網(wǎng)絡I/O使用率:Windows 30
2.5.4 應用性能改進的考慮 31
2.6 磁盤I/O使用率 31
2.7 其他命令行工具 34
2.8 監(jiān)控CPU使用率:SPARC T系列系統(tǒng) 35
2.9 參考資料 36
第3章 JVM概覽 38
3.1 HotSpot VM的基本架構(gòu) 38
3.2 HotSpot VM運行時 40
3.2.1 命令行選項 40
3.2.2 VM生命周期 41
3.2.3 VM類加載 44
3.2.4 字節(jié)碼驗證 46
3.2.5 類數(shù)據(jù)共享 47
3.2.6 解釋器 48
3.2.7 異常處理 49
3.2.8 同步 50
3.2.9 線程管理 51
3.2.10 C++堆管理 53
3.2.11 Java本地接口 54
3.2.12 VM致命錯誤處理 55
3.3 HotSpot VM垃圾收集器 56
3.3.1 分代垃圾收集 56
3.3.2 新生代 58
3.3.3 快速內(nèi)存分配 60
3.3.4 垃圾收集器 60
3.3.5 Serial收集器 61
3.3.6 Parallel收集器:吞吐量為先! 62
3.3.7 Mostly-Concurrent收集器:低延遲為先! 62
3.3.8 Garbage-First收集器:CMS替代者 64
3.3.9 垃圾收集器比較 64
3.3.10 應用程序?qū)占鞯挠绊?65
3.3.11 簡單回顧收集器歷史 65
3.4 HotSpot VM JIT編譯器 65
3.4.1 類型繼承關(guān)系分析 67
3.4.2 編譯策略 67
3.4.3 逆優(yōu)化 68
3.4.4 Client JIT編譯器概覽 69
3.4.5 Server JIT編譯器概覽 69
3.4.6 靜態(tài)單賦值——程序依賴圖 69
3.4.7 未來增強展望 71
3.5 HotSpot VM自適應調(diào)優(yōu) 71
3.5.1 Java 1.4.2的默認值 71
3.5.2 Java 5自動優(yōu)化的默認值 71
3.5.3 Java 6 Update 18更新后的默認優(yōu)化值 73
3.5.4 自適應Java堆調(diào)整 74
3.5.5 超越自動優(yōu)化 75
3.6 參考資料 75
第4章 JVM性能監(jiān)控 77
4.1 定義 77
4.2 垃圾收集 78
4.2.1 重要的垃圾收集數(shù)據(jù) 78
4.2.2 垃圾收集報告 78
4.2.3 垃圾收集數(shù)據(jù)的離線分析 86
4.2.4 圖形化工具 89
4.3 JIT編譯器 103
4.4 類加載 104
4.5 Java應用監(jiān)控 106
4.6 參考資料 109
第5章 Java應用性能分析 110
5.1 術(shù)語 111
5.1.1 通用性能分析術(shù)語 111
5.1.2 Oracle Solaris Studio Performance Analyzer術(shù)語 112
5.1.3 NetBeans Profiler術(shù)語 112
5.2 Oracle Solaris Studio Performance Analyzer 112
5.2.1 支持平臺 113
5.2.2 下載/安裝Oracle Solaris Studio Performance Analyzer 114
5.2.3 使用Oracle Solaris Studio Performance Analyzer 抓取性能數(shù)據(jù) 114
5.2.4 查看性能數(shù)據(jù) 118
5.2.5 數(shù)據(jù)表示 125
5.2.6 過濾性能數(shù)據(jù) 128
5.2.7 命令行工具er_print 129
5.3 NetBeans Profiler 135
5.3.1 支持平臺 136
5.3.2 下載安裝NetBeans Profiler 136
5.3.3 開始方法分析會話 137
5.3.4 Controls子面板 143
5.3.5 Status子面板 143
5.3.6 Profiling Results子面板 143
5.3.7 Saved Snapshots子面板 144
5.3.8 View子面板 144
5.3.9 Basic Telemetry子面板 144
5.3.10 查看動態(tài)結(jié)果 145
5.3.11 對結(jié)果進行快照 145
5.3.12 啟動內(nèi)存分析會話 146
5.3.13 查看實時結(jié)果 148
5.3.14 對結(jié)果進行快照 150
5.3.15 定位內(nèi)存泄漏 150
5.3.16 分析堆轉(zhuǎn)儲 151
5.4 參考資料 152
第6章 Java應用性能分析技巧 153
6.1 性能優(yōu)化機會 153
6.2 系統(tǒng)或內(nèi)核態(tài)CPU使用 154
6.3 鎖競爭 161
6.4 Volatile的使用 171
6.5 調(diào)整數(shù)據(jù)結(jié)構(gòu)的大小 172
6.5.1 StringBuilder或StringBuffer大小的調(diào)整 172
6.5.2 Java Collection類大小調(diào)整 175
6.6 增加并行性 179
6.7 過高的CPU使用率 181
6.8 其他有用的分析提示 182
6.9 參考資料 184
第7章 JVM性能調(diào)優(yōu)入門 185
7.1 方法 185
7.1.1 假設條件 187
7.1.2 測試基礎(chǔ)設施需求 188
7.2 應用程序的系統(tǒng)需求 188
7.2.1 可用性 188
7.2.2 可管理性 188
7.2.3 吞吐量 189
7.2.4 延遲及響應性 189
7.2.5 內(nèi)存占用 189
7.2.6 啟動時間 189
7.3 對系統(tǒng)需求分級 190
7.4 選擇JVM部署模式 190
7.4.1 單JVM部署模式 190
7.4.2 多JVM部署模式 190
7.4.3 通用建議 191
7.5 選擇JVM運行模式 191
7.5.1 Client模式或Server模式 191
7.5.2 32位/64位 JVM 192
7.5.3 垃圾收集器 192
7.6 垃圾收集調(diào)優(yōu)基礎(chǔ) 193
7.6.1 性能屬性 193
7.6.2 原則 193
7.6.3 命令行選項及GC日志 194
7.7 確定內(nèi)存占用 197
7.7.1 約束 197
7.7.2 HotSpot VM堆的布局 197
7.7.3 堆大小調(diào)優(yōu)著眼點 200
7.7.4 計算活躍數(shù)據(jù)大小 201
7.7.5 初始堆空間大小配置 202
7.7.6 其他考量因素 203
7.8 調(diào)優(yōu)延遲/響應性 204
7.8.1 輸入 205
7.8.2 優(yōu)化新生代的大小 205
7.8.3 優(yōu)化老年代的大小 207
7.8.4 為CMS調(diào)優(yōu)延遲 210
7.8.5 Survivor空間介紹 212
7.8.6 解析晉升閾值 214
7.8.7 監(jiān)控晉升閾值 215
7.8.8 調(diào)整Survivor空間的容量 216
7.8.9 顯式的垃圾收集 222
7.8.10 并發(fā)永久代垃圾收集 223
7.8.11 調(diào)優(yōu)CMS停頓時間 224
7.8.12 下一步 225
7.9 應用程序吞吐量調(diào)優(yōu) 225
7.9.1 CMS吞吐量調(diào)優(yōu) 225
7.9.2 Throughput收集器調(diào)優(yōu) 226
7.9.3 Survivor空間調(diào)優(yōu) 228
7.9.4 調(diào)優(yōu)并行垃圾收集線程 231
7.9.5 在NUMA系統(tǒng)上部署 231
7.9.6 下一步 232
7.10 極端示例 232
7.11 其他性能命令行選項 232
7.11.1 實驗性(最近最大)優(yōu)化 232
7.11.2 逃逸分析 233
7.11.3 偏向鎖 233
7.11.4 大頁面支持 234
7.12 參考資料 236
第8章 Java應用的基準測試 237
8.1 基準測試所面臨的挑戰(zhàn) 237
8.1.1 基準測試的預熱階段 238
8.1.2 垃圾收集 240
8.1.3 使用Java Time接口 240
8.1.4 剔除無效代碼 241
8.1.5 內(nèi)聯(lián) 247
8.1.6 逆優(yōu)化 251
8.1.7 創(chuàng)建微基準測試的注意事項 256
8.2 實驗設計 257
8.3 使用統(tǒng)計方法 258
8.3.1 計算均值 258
8.3.2 計算標準差 258
8.3.3 計算置信區(qū)間 259
8.3.4 使用假設測試 260
8.3.5 使用統(tǒng)計方法的注意事項 262
8.4 參考文獻 263
8.5 參考資料 263
第9章 多層應用的基準測試 264
9.1 基準測試難題 264
9.2 企業(yè)級應用基準測試的考量 266
9.2.1 定義被測系統(tǒng) 266
9.2.2 制定微基準測試 266
9.2.3 定義用戶交互模型 267
9.2.4 定義性能指標 270
9.2.5 擴展基準測試 273
9.2.6 用利特爾法則驗證 274
9.2.7 思考時間 275
9.2.8 擴展性分析 278
9.2.9 運行基準測試 278
9.3 應用服務器監(jiān)控 281
9.3.1 GlassFish監(jiān)控 281
9.3.2 監(jiān)控子系統(tǒng) 286
9.3.3 Solaris 287
9.3.4 Linux 288
9.3.5 Windows 288
9.3.6 外部系統(tǒng)的性能 289
9.3.7 磁盤I/O 292
9.3.8 監(jiān)控和調(diào)優(yōu)資源池 293
9.4 企業(yè)級應用性能分析 294
9.5 參考資料 295
第10章 Web應用的性能調(diào)優(yōu) 297
10.1 Web應用的基準測試 298
10.2 Web容器的組件 298
10.2.1 HTTP連接器 299
10.2.2 Servlet引擎 300
10.3 Web容器的監(jiān)控和性能調(diào)優(yōu) 300
10.3.1 容器的開發(fā)和生產(chǎn)模式 300
10.3.2 安全管理器 301
10.3.3 JVM調(diào)優(yōu) 301
10.3.4 HTTP服務和Web容器 303
10.3.5 HTTP監(jiān)聽器 303
10.4 最佳實踐 315
10.4.1 Servlet和JSP最佳實踐 315
10.4.2 內(nèi)容緩存 324
10.4.3 會話持久化 328
10.4.4 HTTP服務器文件緩存 329
10.5 參考資料 333
第11章 Web Service的性能 334
11.1 XML的性能 334
11.1.1 XML處理的生命周期 335
11.1.2 解析/解編組 335
11.1.3 訪問 338
11.1.4 修改 338
11.1.5 序列化/編組 339
11.2 驗證 339
11.3 解析外部實體 341
11.4 XML文檔的局部處理 343
11.5 選擇合適的API 346
11.6 JAX-WS參考實現(xiàn)棧 349
11.7 Web Service基準測試 350
11.8 影響Web Service性能的因素 353
11.8.1 消息大小的影響 353
11.8.2 不同Schema類型的性能特征 355
11.8.3 終端服務器的實現(xiàn) 358
11.8.4 處理程序的性能 359
11.9 最佳性能實踐 361
11.9.1 二進制負載的處理 361
11.9.2 處理XML文檔 365
11.9.3 使用MTOM發(fā)送XML文檔 365
11.9.4 使用Provider接口 368
11.9.5 快速信息集 370
11.9.6 HTTP壓縮 372
11.9.7 Web Service客戶端的性能 373
11.10 參考資料 374
第12章 Java持久化及Enterprise Java Bean的性能 375
12.1 EJB編程模型 376
12.2 Java持久化API及其參考實現(xiàn) 376
12.3 監(jiān)控及調(diào)優(yōu)EJB容器 379
12.3.1 線程池 380
12.3.2 Bean池和緩存 382
12.3.3 EclipseLink會話緩存 385
12.4 事務隔離級 386
12.5 Enterprise Java Bean的最佳實踐 387
12.5.1 簡要說明使用的EJB基準測試 387
12.5.2 EJB 2.1 388
12.5.3 EJB 3.0 400
12.6 Java持久化最佳實踐 403
12.6.1 JPA查詢語言中的查詢 403
12.6.2 查詢結(jié)果緩存 405
12.6.3 FetchType 406
12.6.4 連接池 408
12.6.5 批量更新 409
12.6.6 選擇正確的數(shù)據(jù)庫鎖策略 411
12.6.7 不帶事務的讀取 411
12.6.8 繼承 411
12.7 參考資料 412
附錄A 重要的HotSpot VM選項 413
附錄B 性能分析技巧示例源代碼 429
B.1 鎖競爭實現(xiàn)1 429
B.2 鎖競爭實現(xiàn)2 439
B.3 鎖競爭實現(xiàn)3 449
B.4 鎖競爭實現(xiàn)4 459
B.5 鎖競爭實現(xiàn)5 469
B.6 調(diào)整容量變化1 481
B.7 調(diào)整容量變化2 492
B.8 增加并發(fā)性的單線程實現(xiàn) 504
B.9 增加并發(fā)性的多線程實現(xiàn) 514
下載地址
人氣書籍
瘋狂Java講義(第2版) PDF高清版[285M]
面向?qū)ο螅骸禜ead First Java》中文高清完整版 (PDF)
Java Web開發(fā)詳解 孫鑫 PDF掃描版(146M)
Spring實戰(zhàn)(spring in action) 第三版 中文清晰掃描版
Java核心技術(shù)·卷1:基礎(chǔ)知識(原書第9版) PDF掃描版[80MB]
瘋狂Java講義 中文PDF高清版[611.85M]
JavaEE開發(fā)的顛覆者:Spring Boot實戰(zhàn) 中文PDF完整版
Java Web開發(fā)實戰(zhàn)1200例(第I卷) 盧瀚,王春斌著 中文 PDF版 [129
深入理解Java虛擬機:JVM高級特性與最佳實踐(第2版) PDF掃描版
Spring實戰(zhàn)(第4版) Spring in action 附隨書源碼 中文pdf版[42MB
下載聲明
☉ 解壓密碼:chabaoo.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個軟件總是不能下載的請在評論中留言,我們會盡快修復,謝謝!
☉ 下載本站資源,如果服務器暫不能下載請過一段時間重試!或者多試試幾個下載地址
☉ 如果遇到什么問題,請評論留言,我們定會解決問題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學習研究之用,如用于商業(yè)用途,請購買正版。
☉ 本站提供的Java性能優(yōu)化權(quán)威指南 PDF掃描[132MB]資源來源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。