| | | JROCKIT權威指南 深入理解JVM | 該商品所屬分類:圖書 -> 科技 | 【市場價】 | 795-1152元 | 【優惠價】 | 497-720元 | 【作者】 | 馬庫斯·希爾特馬庫斯·拉傑格倫 | 【出版社】 | 人民郵電出版社 | 【ISBN】 | 9787115500458 | 【折扣說明】 | 一次購物滿999元台幣免運費+贈品 一次購物滿2000元台幣95折+免運費+贈品 一次購物滿3000元台幣92折+免運費+贈品 一次購物滿4000元台幣88折+免運費+贈品
| 【本期贈品】 | ①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
| |
版本 | 正版全新電子版PDF檔 | 您已选择: | 正版全新 | 溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。*. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。 *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。 *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。 | | | | 內容介紹 | |
出版社:人民郵電出版社 ISBN:9787115500458 商品編碼:40080981713 品牌:文軒 出版時間:2019-01-01 代碼:99 作者:馬庫斯·希爾特,馬庫斯·拉傑格倫
" 作 者:(瑞士)馬庫斯·希爾特,(瑞士)馬庫斯·拉傑格倫 著 曹旭東 譯 定 價:99 出 版 社:人民郵電出版社 出版日期:2019年01月01日 頁 數:336 裝 幀:平裝 ISBN:9787115500458 作為曾經的三大主流Java虛擬機之一,JRockit展示了強大的伸縮性和高勁的性能,現在雖已被內置於Oracle融合中間件中,但JVM原理以及JMC工具等內容是相通的。本書由JRockit核心開發人員根據其十餘年與Java打交道的經驗編寫而成,深入JVM內部,詳盡剖析了Java虛擬機原理,對現在的Java開發人員監聽、診斷、配置和增強Java應用程序的性能仍有很強的參考價值。 ●第1章 起步 1 1.1 獲取JRockit JVM 1 1.2 將應用程序遷移到JRockit 2 1.2.1 命令行選項 3 1.2.2 行為差異 3 1.3 JRockit版本號的命名規則 4 1.4 獲取幫助 5 1.5 小結 5 第 2章 自適應代碼生成 6 2.1 平臺無關性 6 2.2 Java虛擬機 7 2.2.1 基於棧的虛擬機 8 2.2.2 字節碼格式 8 2.3 代碼生成策略 10 2.3.1 純解釋執行 10 2.3.2 靜態編譯 11 2.3.3 接近JIT編譯 12 2.3.4 混合模式 12 2.4 自適應代碼生成 13 2.4.1 判斷熱方法 14 2.4.2 優化動態程序 14 2.5 深入JIT編譯器 16 2.5.1 處理字節碼 16 2.5.2 字節碼“優化器” 18 2.5.3 優化字節碼 21 2.6 代碼流水線 22 2.6.1 為什麼JRockit沒有字節碼解釋器 22 2.6.2 啟動 23 2.6.3 運行時代碼生成 24 2.6.4 代碼生成概述 26 2.7 控制代碼生成 38 2.8 小結 42 第3章 自適應內存管理 43 3.1 自動內存管理 43 3.1.1 自適應內存管理 44 3.1.2 自動內存管理的優點 44 3.1.3 自動內存管理的缺點 45 3.2 堆管理基礎 45 3.2.1 對像的分配與釋放 45 3.2.2 碎片與整理 45 3.3 垃圾回收算法 47 3.3.1 引用計數 47 3.3.2 引用跟蹤 47 3.3.3 STW 50 3.3.4 分代垃圾回收 55 3.3.5 吞吐量與延遲 57 3.3.6 JRockit中的垃圾回收 58 3.4 性能與伸縮性 60 3.4.1 線程局部分配 60 3.4.2 更大的堆內存 61 3.4.3 緩存友好性 64 3.4.4 NUMA架構 65 3.4.5 大內存頁 66 3.4.6 自適應 67 3.5 近實時垃圾回收 69 3.5.1 軟實時與硬實時 69 3.5.2 JRockit Real Time 69 3.6 內存操作相關的API 72 3.6.1 析構方法 72 3.6.2 Java中的引用 73 3.6.3 JVM的行為差異 75 3.7 陷阱與偽優化 75 3.8 JRockit中的內存管理 76 3.8.1 基本參數 76 3.8.2 壓縮引用 78 3.8.3 高級選項 78 3.9 小結 79 第4章 線程與同步 80 4.1 基本概念 80 4.1.1 難以調試 82 4.1.2 難以優化 82 4.2 Java API 84 4.2.1 synchronized關鍵字 84 4.2.2 java.lang.Thread類 84 4.2.3 java.util.concurrent包 85 4.2.4 信號量 85 4.2.5 volatile關鍵字 87 4.3 Java中線程與同步機制的實現 88 4.3.1 Java內存模型 88 4.3.2 同步的實現 91 4.3.3 同步在字節碼中的實現 96 4.3.4 線程的實現 99 4.4 對於線程與同步的優化 100 4.4.1 鎖膨脹與鎖收縮 100 4.4.2 遞歸鎖 101 4.4.3 鎖融合 101 4.4.4 延遲解鎖 102 4.5 陷阱與偽優化 105 4.5.1 Thread.stop、Thread.resume和Thread.suspend 105 4.5.2 雙檢查鎖 106 4.6 相關命令行參數 107 4.6.1 檢查鎖與延遲解鎖 107 4.6.2 輸出調用棧信息 108 4.6.3 鎖分析 110 4.6.4 設置線程棧的大小 111 4.6.5 使用命令行參數控制鎖的行為 111 4.7 小結 111 第5章 基準測試與性能調優 113 5.1 為何要進行基準測試 113 5.1.1 制定性能目標 114 5.1.2 對性能進行回歸測試 114 5.1.3 確定優化方向 115 5.1.4 商業應用 115 5.2 如何構建基準測試 116 5.2.1 置身事外 116 5.2.2 多次測量 118 5.2.3 微基準測試 118 5.2.4 測試前熱身 121 5.3 確定測試目標 122 5.3.1 吞吐量 122 5.3.2 兼顧吞吐量、響應時間和延遲 122 5.3.3 伸縮性 122 5.3.4 電力消耗 124 5.3.5 其他問題 124 5.4 工業級基準測試 124 5.4.1 SPEC基準測試套件 124 5.4.2 SipStone基準測試 128 5.4.3 DaCapo基準測試 128 5.4.4 真實場景下的應用程序 128 5.5 基準測試的潛在風險 128 5.6 性能調優 129 5.6.1 非規範化行為 129 5.6.2 調優目標 130 5.7 常見性能瓶頸與規避方法 138 5.7.1 命令行參數-XXaggressive 138 5.7.2 析構函數 139 5.7.3 引用對像過多 139 5.7.4 對像池 139 5.7.5 算法與數據結構 140 5.7.6 誤用System.gc() 141 5.7.7 線程數太多 141 5.7.8 鎖競爭導致性能瓶頸 142 5.7.9 不必要的異常 142 5.7.10 大對像 144 5.7.11 本地內存與堆內存 144 5.8 wait方法、notify方法與胖鎖 145 5.8.1 堆的大小設置不當 145 5.8.2 存活對像過多 145 5.8.3 Java並非萬能 145 5.9 小結 146 第6章 JRockit Mission Control套件 147 6.1 背景介紹 147 6.1.1 采樣分析與準確分析 148 6.1.2 用途廣泛 149 6.2 概述 150 6.2.1 JRockit Mission Control的服務器端組件 151 6.2.2 JRockit Mission Control的客戶端組件 151 6.2.3 術語介紹 153 6.2.4 獨立運行JRockit Mission Control 153 6.2.5 在Eclipse中運行JRockit Mission Control 154 6.2.6 遠程管理JRockit 155 6.2.7 安全 159 6.2.8 處理連接問題 160 6.3 更新點 162 6.4 調試JRockit Mission Control 162 6.5 小結 164 第7章 Management Console 165 7.1 JMX Management Console 165 7.2 Management Console 166 7.2.1 一般信息標簽組 166 7.2.2 MBean標簽組 171 7.2.3 運行時標簽組 174 7.2.4 高級標簽組 176 7.2.5 其他標簽組 177 7.3 擴展JRockit Mission Control Console 178 7.4 小結 181 第8章 JRockit Runtime Analyzer 182 8.1 反饋信息的必要性 182 8.2 分析JRA記錄 185 8.2.1 一般信息標簽組 185 8.2.2 內存標簽組 186 8.2.3 代碼標簽組 188 8.2.4 線程/鎖標簽組 190 8.2.5 延遲標簽組 192 8.2.6 使用操作集 195 8.3 故障排除 197 8.4 小結 198 第9章 JRockit Flight Recorder 199 9.1 JRA進化 199 9.1.1 關於事件 200 9.1.2 記錄引擎 200 9.1.3 啟動參數 202 9.2 在JRockit Mission Control中使用JFR 203 9.3 與JRA的區別 205 9.3.1 範圍選擇器 205 9.3.2 操作集 206 9.3.3 關聯鍵 206 9.3.4 延遲分析 206 9.3.5 異常分析 207 9.3.6 內存分析 209 9.4 自定義事件 210 9.5 擴展JFR 213 9.6 小結 215 第 10章 Memory Leak Detector 216 10.1 Java內存洩漏 216 10.1.1 靜態編程語言中的內存洩漏 216 10.1.2 自動內存管理中的內存洩漏 217 10.2 檢測Java中的內存洩漏 217 10.3 Memleak簡介 218 10.4 追蹤內存洩漏 219 10.5 交互式追蹤內存洩漏 224 10.6 通用堆分析器 226 10.7 追蹤內存分配 227 10.8 問題排查 227 10.9 小結 228 第 11章 JRCMD 229 11.1 簡介 229 11.2 覆蓋SIGQUIT信號處理句柄 230 11.3 JRCMD的 232 11.4 JRCMD命令參考 232 11.4.1 check_flightrecording(R28) 232 11.4.2 checkjrarecording(R27) 233 11.4.3 command_line 234 11.4.4 dump_flightrecording(R28) 234 11.4.5 heap_diagnostics(R28) 234 11.4.6 hprofdump(R28) 237 11.4.7 kill_management_server 238 11.4.8 list_vmflags(R28) 238 11.4.9 lockprofile_print 239 11.4.10 lockprofile_reset 240 11.4.11 memleakserver 240 11.4.12 oom_diagnostics(R27) 240 11.4.13 print_class_summary 240 11.4.14 print_codegen_list 241 11.4.15 print_memusage(R27) 242 11.4.16 print_memusage(R28) 243 11.4.17 print_object_summary 247 11.4.18 print_properties 249 11.4.19 print_threads 250 11.4.20 print_utf8pool 251 11.4.21 print_vm_state 251 11.4.22 run_optfile(R27) 252 11.4.23 run_optfile(R28) 252 11.4.24 runfinalization 253 11.4.25 runsystemgc 253 11.4.26 set_vmflag(R28) 253 11.4.27 start_flightrecording(R28) 253 11.4.28 start_management_server 254 11.4.29 startjrarecording(R27) 255 11.4.30 stop_flightrecording(R28) 256 11.4.31 timestamp 256 11.4.32 verbosity 256 11.4.33 version 257 11.5 小結 258 第 12章 JRockit Management API 259 12.1 JMAPI 259 12.2 JMXMAPI 263 12.2.1 JRockit內部性能計數器 264 12.2.2 使用JMXMAPI構建可遠程操作的JRCMD 266 12.3 小結 270 第 13章 JRockit Virtual Edition 271 13.1 虛擬化簡介 272 13.1.1 全虛擬化 272 13.1.2 半虛擬化 273 13.1.3 其他虛擬化術語 273 13.1.4 虛擬機管理程序 273 13.1.5 虛擬化的優勢 275 13.1.6 虛擬化的劣勢 275 13.2 Java虛擬化 276 13.2.1 JRockit Virtual Edition 277 13.2.2 虛擬機鏡像與管理框架 279 13.2.3 JRockit VE的優勢 284 13.2.4 JRockit VE的 287 13.3 虛擬化能媲美真實環境嗎 287 13.3.1 高質量的熱點代碼采樣 288 13.3.2 自適應堆大小 288 13.3.3 線程間的頁保護 289 13.4 小結 291 附錄A 參考文獻 292 附錄B 術語表 296 本書面向所有以Java編程語言為工作中心的開發人員和繫統管理員,分為3大部分。靠前部分著重介紹了JVM和自適應運行時的工作原理,並以JRockit為例專門介紹到底什麼是好的Java代碼。第二部分介紹JRockit Mission Control套件的具體功能,以及如何使用JRockit Mission Control套件來查找應用程序的性能瓶頸。第三部分介紹Java發展方向。
" | | | | | |