Java 性能權威指南 (Java Performance: The Definitive Guide)
奧克斯 (Scott Oaks)
- 出版商: 人民郵電
- 出版日期: 2016-03-01
- 定價: $474
- 售價: 8.5 折 $403
- 語言: 簡體中文
- 頁數: 312
- 裝訂: 平裝
- ISBN: 7115413762
- ISBN-13: 9787115413765
-
相關分類:
Java 程式語言
- 此書翻譯自: Java Performance: The Definitive Guide (Paperback)
下單後立即進貨 (約4週~6週)
買這商品的人也買了...
-
$880$695 -
$680$537 -
$450$356 -
$352Java 虛擬機精講
-
$403實戰 Java 虛擬機 (JVM 故障診斷與性能優化)
-
$454Netty 權威指南, 2/e
-
$390$332 -
$332分佈式服務框架原理與實踐
-
$403Java 8 實戰 (Java 8 In Action)
-
$607Java 核心技術 (捲Ⅰ) : 基礎知識, 10/e
-
$281Java 線程與並發編程實踐
-
$352Java 性能調優指南
-
$177Java 多線程編程實戰指南 (設計模式篇)
-
$658揭秘 Java 虛擬機 : JVM 設計原理與實現
-
$709Java核心技術捲2:高級特性(原書第10版)
-
$780$616 -
$607Java 函數式編程
-
$580$458 -
$534$507 -
$720$569 -
$580$452 -
$534$507 -
$505碼出高效:Java 開發手冊
-
$607Effective Java, 3/e (簡體中文版)
-
$454Java 微服務測試:基於 Arquillian、Hoverfly、AssertJ、JUnit、Selenium 與 Mockito (Testing Java Microservices: Using Arquillian, Hoverfly, AssertJ, JUnit, Selenium, and Mockito)
相關主題
商品描述
《Java性能權威指南》對Java7和Java8中影響性能的因素展開了全面深入的介紹,講解傳統上影響應用性能的JVM特徵,包括即時編譯器、垃圾收集、語言特徵等。內容包括:用G1垃圾收集器應用的吞吐量;使用Java飛行記錄器查看性能細節,而不必借助專業的分析工具;堆內存與原生內存實踐;線程與同步的性能,以及數據庫性能實踐等。
目錄大綱
推薦序
前言
第1章導論1
1.1概述2
1.2平台版本約定2
1.3全面的性能調優4
1.3.1編寫更好的算法4
1.3.2編寫更少的代碼4
1.3.3老調重彈的過早優化5
1.3.4其他:數據庫很可能就是瓶頸6
1.3.5常見的優化7
1.4小結8
第2章性能測試方法9
2.1原則1:測試真實應用9
2.1.1微基準測試9
2.1.2宏基準測試13
2.1.3介基準測試15
2.1.4代碼示例16
2.2原則2:理解批處理流逝時間、吞吐量和響應時間19
2.2.1批處理流逝時間19
2.2.2吞吐量測試20
2.2.3響應時間測試20
2.3原則3:用統計方法應對性能的變化23
2.4原則4:儘早頻繁測試26
2.5小結28
第3章Java性能調優工具箱29
3.1操作系統的工具和分析29
3.1.1CPU使用率29
3.1.2CPU運行隊列32
3.1.3磁盤使用率33
3.1.4網絡使用率34
3.2Java監控工具35
3.2.1基本的VM信息36
3.2.2線程信息39
3.2.3類信息39
3.2.4實時GC分析39
3.2.5事後堆轉儲39
3.3性能分析工具39
3.3.1採樣分析器40
3.3.2探查分析器41
3.3.3阻塞方法和線程時間線42
3.3.4本地分析器44
3.4Java任務控制45
3.4.1Java飛行記錄器46
3.4.2開啟JFR52
3.4.3選擇JFR事件54
3.5小結56
第4章JIT編譯器58
4.1JIT編譯器:概覽58
4.2調優入門:選擇編譯器類型(Client、Server或二者同用)61
4.2.1優化啟動62
4.2.2優化批處理63
4.2.3優化長時間運行的應用64
4.3Java和JIT編譯器版本64
4.4編譯器中級調優67
4.4.1調優代碼緩存67
4.4.2編譯閾值68
4.4.3檢測編譯過程70
4.5高級編譯器調優73
4.5.1編譯線程73
4.5.2內聯74
4.5.3逃逸分析75
4.6逆優化76
4.6.1代碼被丟棄77
4.6.2逆優化殭屍代碼78
4.7分層編譯級別79
4.8小結80
第5章垃圾收集入門81
5.1垃圾收集概述81
5.1.1分代垃圾收集器83
5.1 .2GC算法84
5.1.3選擇GC算法87
5.2GC調優基礎92
5.2.1調整堆的大小92
5.2.2代空間的調整95
5.2.3永久代和元空間的調整96
5.2.4控制並發97
5.2.5自適應調整98
5.3垃圾回收工具99
5.4小結102
第6章垃圾收集算法103
6.1理解Throughput收集器103
6.2理解CMS收集器109
6.2.1針對並發模式失效的調優113
6.2.2CMS收集器的永久代調優116
6.2.3增量式CMS垃圾收集117
6.3理解G1垃圾收集器118
6.4高級調優126
6.4.1晉升及Survivor空間126
6.4.2分配大對象129
6.4.3AggressiveHeap標誌136
6.4. 4全盤掌控堆空間的大小137
6.5小結138
第7章堆內存*佳實踐140
7.1堆分析140
7.1.1堆直方圖141
7.1.2堆轉儲142
7.1.3內存溢出錯誤146
7.2減少內存使用149
7.2.1減少對像大小149
7.2.2延遲初始化152
7.2.3不可變對象和標準化對象156
7.2.4字符串的保留157
7.3對像生命週期管理160
7.3.1對象重用160
7.3.2弱引用、軟引用與其他引用165
7.4小結175
第8章原生內存*佳實踐176
8.1內存佔用176
8.1.1測量內存佔用177
8.1.2內存佔用最小化178
8.1.3原生NIO緩衝區178
8.1.4原生內存跟踪179
8.2針對不同操作系統優化JVM182
8.2.1大頁182
8.2.2壓縮的oop185
8.3小結187
第9章線程與同步的性能188
9.1線程池與ThreadPoolExecutor188
9.1.1設置最大線程數189
9.1.2設置最小線程數192
9.1.3線程池任務大小193
9.1.4設置ThreadPoolExecutor的大小193
9.2ForkJoinPool195
9.3線程同步201
9.3.1同步的代價202
9.3.2避免同步205
9.3.3偽共享208
9.4JVM線程調優211
9.4.1調節線程棧大小211
9.4.2偏向鎖212
9.4.3自旋鎖212
9.4.4線程優先級213
9.5監控線程與鎖213
9.5.1查看線程214
9.5.2查看阻塞線程214
9.6小結217
第10章JavaEE性能調優218
10.1Web容器的基本性能218
10.2線程池222
10.3EJB會話Bean223
10.3.1調優EJB對像池223
10.3.2調優EJB緩存225
10.3.3本地和遠程實例226
10.4XML和JSON處理227
10.4.1數據大小227
10.4.2解析和編組概述229
10.4 .3選擇解析器230
10.4.4XML驗證235
10.4.5文檔模型237
10.4.6Java對像模型240
10.5對象序列化241
10.5.1transient字段241
10.5.2覆蓋默認的序列化241
10.5.3壓縮序列化數據244
10.5.4追踪對象複製246
10.6JavaEE網絡API248
10.7小結250
第11章數據庫性能的最佳實踐251
11.1JDBC251
11.1.1JDBC驅動程序252
11.1 .2預處理語句和語句池253
11.1.3JDBC連接池255
11.1.4事務256
11.1.5結果集的處理262
11.2JPA264
11.2.1事務處理264
11.2.2對JPA的寫性能進行優化267
11.2.3對JPA的讀性能進行優化268
11.2.4JPA緩存271
11.2.5JPA的只讀實體276
11.3小結277
第12章JavaSEAPI技巧278
12.1緩衝式I/O278
12.2類加載280
12.3隨機數284
12.4Java原生接口285
12.5異常287
12.6字符串的性能290
12.7日誌291
12.8Java集合類API292
12.8.1同步還是非同步293
12.8.2設定集合的大小294
12.8.3集合與內存使用效率295
12.9AggressiveOpts標誌296
12.9.1替代實現296
12.9.2其他標誌297
12.10Lambda表達式和匿名類297
12.11流和過濾器的性能300
12.12小結302
附錄A性能調優標誌摘要303
作者簡介312
關於封面312