婷婷五月情,国产精品久久久久久亚洲小说,runaway韩国电影免费完整版,国产乱在线观看视频,日韩精品首页,欧美在线视频二区

歡迎光臨中圖網 請 | 注冊
> >>
深入理解Java虛擬機:JVM特性與實踐(第3版)

包郵 深入理解Java虛擬機:JVM特性與實踐(第3版)

作者:周志明
出版社:機械工業出版社出版時間:2019-12-01
開本: 16開 頁數: 540
讀者評分:5分1條評論
中 圖 價:¥90.3(7.0折) 定價  ¥129.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

深入理解Java虛擬機:JVM特性與實踐(第3版) 版權信息

深入理解Java虛擬機:JVM特性與實踐(第3版) 本書特色

適讀人群 :1.使用Java技術體系的中-高級開發人員 2.系統調優師 3.平臺架構師 4.準備進互聯網大廠面試的Java開發人員(1)涵蓋絕大部分互聯網大廠面試知識點!助你順利進大廠! (2)根據JDK12和JDK 13 EA版本全面更新,新增內容近50%,并對第2版中含糊、瑕疵和錯誤內容進行了修正。 (3)計算機圖書領域的豐碑,累計印刷超40次,銷量超過30萬冊,兩家網店評論數量超過90000條,內容近乎零差評。 (4)從Java技術體系、自動內存管理、虛擬機執行子系統、程序編譯與代碼優化、高效并發5個維度全面分析JVM。 (5)全書以實戰為導向,通過大量與實際生產環境相結合的案例分析和展示了解決各種Java技術難題的方案和技巧。 (6)來自阿里、騰訊、微軟、百度、滴滴、易寶支付、同盾科技、達觀數據、易觀國際、蘑菇街的10位專家高度評價并強烈推薦。 (7)這本書值得所有Java技術人員讀3遍,值得Java技術人員讀3遍,值得讀3遍!

深入理解Java虛擬機:JVM特性與實踐(第3版) 內容簡介

這是一部從工作原理和工程實踐兩個維度深入剖析JVM的著作,是計算機領域公認的經典,繁體版在中國臺灣地區也頗受歡迎。 自2011年上市以來,累計印刷超40次,銷量超過30萬冊,兩家主要網絡書店的評論近90000條,內容上近乎零差評,是原創計算機圖書領域不可逾越的豐碑。 第3版在第2版的基礎上做了重大修訂,內容更豐富、實戰性更強:根據新版JDK對內容進行了全方位的修訂和升級,圍繞新技術和生產實踐新增逾10萬字,包含近50%的全新內容,并對第2版中含糊、瑕疵和錯誤內容進行了修正。涵蓋互聯網大廠面試重要知識點! 全書一共13章,分為五大部分: ●第①部分(第1章)走近Java 系統介紹了Java的技術體系、發展歷程、虛擬機家族,以及動手編譯JDK,了解這部分內容能對學習JVM提供良好的指引。 ●第二部分(第2~5章)自動內存管理 詳細講解了Java的內存區域與內存溢出、垃圾收集器與內存分配策略、虛擬機性能監控與故障排除等與自動內存管理相關的內容,以及10余個經典的性能優化案例和優化方法; ●第三部分(第6~9章)虛擬機執行子系統 深入分析了虛擬機執行子系統,包括類文件結構、虛擬機類加載機制、虛擬機字節碼執行引擎,以及多個類加載及其執行子系統的實戰案例; ●第四部分(第10~11章)程序編譯與代碼優化 詳細講解了程序的前、后端編譯與優化,包括前端的易用性優化措施,如泛型、主動裝箱拆箱、條件編譯等的內容的深入分析;以及后端的性能優化措施,如虛擬機的熱點探測方法、HotSpot 的即時編譯器、提前編譯器,以及各種常見的編譯期優化技術; ●第五部分(第12~13章)高效并發 主要講解了Java實現高并發的原理,包括Java的內存模型、線程與協程,以及線程安全和鎖優化。 全書以實戰為導向,通過大量與實際生產環境相結合的案例分析和展示了解決各種Java技術難題的方案和技巧。

深入理解Java虛擬機:JVM特性與實踐(第3版) 目錄

前言

致謝

【**部分 走近Java】

●第1章 走近Java 2

1.1 概述 2

1.2 Java技術體系 3

1.3 Java發展史 4

1.4 Java虛擬機家族 12

1.4.1 虛擬機始祖:Sun Classic/Exact VM 12

1.4.2 武林盟主:HotSpot VM 13

1.4.3 小家碧玉:Mobile/Embedded VM 14

1.4.4 天下第二:BEA JRockit/IBM J9 VM 15

1.4.5 軟硬合璧:BEA Liquid VM/Azul VM 16

1.4.6 挑戰者:Apache Harmony/Google Android Dalvik VM 17

1.4.7 沒有成功,但并非失敗:Microsoft JVM及其他 18

1.4.8 百家爭鳴 19

1.5 展望Java技術的未來 21

1.5.1 無語言傾向 21

1.5.2 新一代即時編譯器 23

1.5.3 向Native邁進 24

1.5.4 靈活的胖子 26

1.5.5 語言語法持續增強 27

1.6 實戰:自己編譯JDK 29

1.6.1 獲取源碼 29

1.6.2 系統需求 31

1.6.3 構建編譯環境 33

1.6.4 進行編譯 34

1.6.5 在IDE工具中進行源碼調試 36

1.7 本章小結 39


【第二部分 自動內存管理】

●第2章 Java內存區域與內存溢出異常 42

2.1 概述 42

2.2 運行時數據區域 42

2.2.1 程序計數器 43

2.2.2 Java虛擬機棧 43

2.2.3 本地方法棧 44

2.2.4 Java堆 44

2.2.5 方法區 46

2.2.6 運行時常量池 47

2.2.7 直接內存 47

2.3 HotSpot虛擬機對象探秘 48

2.3.1 對象的創建 48

2.3.2 對象的內存布局 51

2.3.3 對象的訪問定位 52

2.4 實戰:OutOfMemoryError異常 53

2.4.1 Java堆溢出 54

2.4.2 虛擬機棧和本地方法棧溢出 56

2.4.3 方法區和運行時常量池溢出 61

2.4.4 本機直接內存溢出 65

2.5 本章小結 66

●第3章 垃圾收集器與內存分配策略 67

3.1 概述 67

3.2 對象已死? 68

3.2.1 引用計數算法 68

3.2.2 可達性分析算法 70

3.2.3 再談引用 71

3.2.4 生存還是死亡? 72

3.2.5 回收方法區 74

3.3 垃圾收集算法 75

3.3.1 分代收集理論 75

3.3.2 標記-清除算法 77

3.3.3 標記-復制算法 78

3.3.4 標記-整理算法 79

3.4 HotSpot的算法細節實現 81

3.4.1 根節點枚舉 81

3.4.2 安全點 82

3.4.3 安全區域 83

3.4.4 記憶集與卡表 84

3.4.5 寫屏障 85

3.4.6 并發的可達性分析 87

3.5 經典垃圾收集器 89

3.5.1 Serial收集器 90

3.5.2 ParNew收集器 92

3.5.3 Parallel Scavenge收集器 93

3.5.4 Serial Old收集器 94

3.5.5 Parallel Old收集器 95

3.5.6 CMS收集器 96

3.5.7 Garbage First收集器 98

3.6 低延遲垃圾收集器 104

3.6.1 Shenandoah收集器 105

3.6.2 ZGC收集器 112

3.7 選擇合適的垃圾收集器 121

3.7.1 Epsilon收集器 121

3.7.2 收集器的權衡 121

3.7.3 虛擬機及垃圾收集器日志 122

3.7.4 垃圾收集器參數總結 127

3.8 實戰:內存分配與回收策略 129

3.8.1 對象優先在Eden分配 130

3.8.2 大對象直接進入老年代 131

3.8.3 長期存活的對象將進入老年代 132

3.8.4 動態對象年齡判定 134

3.8.5 空間分配擔保 135

3.9 本章小結 137

●第4章 虛擬機性能監控-故障處理工具 138

4.1 概述 138

4.2 基礎故障處理工具 138

4.2.1 jps:虛擬機進程狀況工具 141

4.2.2 jstat:虛擬機統計信息監視工具 142

4.2.3 jinfo:Java配置信息工具 143

4.2.4 jmap:Java內存映像工具 144

4.2.5 jhat:虛擬機堆轉儲快照分析工具 145

4.2.6 jstack:Java堆棧跟蹤工具 146

4.2.7 基礎工具總結 148

4.3 可視化故障處理工具 151

4.3.1 JHSDB:基于服務性代理的調試工具 152

4.3.2 JConsole:Java監視與管理控制臺 157

4.3.3 VisualVM:多合-故障處理工具 164

4.3.4 Java Mission Control:可持續在線的監控工具 171

4.4 HotSpot虛擬機插件及工具 175

4.5 本章小結 180

●第5章 調優案例分析與實戰 181

5.1 概述 181

5.2 案例分析 181

5.2.1 大內存硬件上的程序部署策略 182

5.2.2 集群間同步導致的內存溢出 184

5.2.3 堆外內存導致的溢出錯誤 185

5.2.4 外部命令導致系統緩慢 187

5.2.5 服務器虛擬機進程崩潰 187

5.2.6 不恰當數據結構導致內存占用過大 188

5.2.7 由Windows虛擬內存導致的長時間停頓 189

5.2.8 由安全點導致長時間停頓 190

5.3 實戰:Eclipse運行速度調優 192

5.3.1 調優前的程序運行狀態 193

5.3.2 升級JDK版本的性能變化及兼容問題 196

5.3.3 編譯時間和類加載時間的優化 200

5.3.4 調整內存設置控制垃圾收集頻率 203

5.3.5 選擇收集器降低延遲 206

5.4 本章小結 209


【第三部分 虛擬機執行子系統】

●第6章 類文件結構 212

6.1 概述 212

6.2 無關性的基石 212

6.3 Class類文件的結構 214

6.3.1 魔數與Class文件的版本 215

6.3.2 常量池 218

6.3.3 訪問標志 224

6.3.4 類索引-父類索引與接口索引集合 225

6.3.5 字段表集合 226

6.3.6 方法表集合 229

6.3.7 屬性表集合 230

6.4 字節碼指令簡介 251

6.4.1 字節碼與數據類型 251

6.4.2 加載和存儲指令 253

6.4.3 運算指令 254

6.4.4 類型轉換指令 255

6.4.5 對象創建與訪問指令 256

6.4.6 操作數棧管理指令 256

6.4.7 控制轉移指令 257

6.4.8 方法調用和返回指令 257

6.4.9 異常處理指令 258

6.4.10 同步指令 258

6.5 公有設計,私有實現 259

6.6 Class文件結構的發展 260

6.7 本章小結 261


第7章 虛擬機類加載機制 262

7.1 概述 262

7.2 類加載的時機 263

7.3 類加載的過程 267

7.3.1 加載 267

7.3.2 驗證 268

7.3.3 準備 271

7.3.4 解析 272

7.3.5 初始化 277

7.4 類加載器 279

7.4.1 類與類加載器 280

7.4.2 雙親委派模型 281

7.4.3 破壞雙親委派模型 285

7.5 Java模塊化系統 287

7.5.1 模塊的兼容性 288

7.5.2 模塊化下的類加載器 290

7.6 本章小結 292


第8章 虛擬機字節碼執行引擎 293

8.1 概述 293

8.2 運行時棧幀結構 294

8.2.1 局部變量表 294

8.2.2 操作數棧 299

8.2.3 動態連接 300

8.2.4 方法返回地址 300

8.2.5 附加信息 301

8.3 方法調用 301

8.3.1 解析 301

8.3.2 分派 303

8.4 動態類型語言支持 315

8.4.1 動態類型語言 316

8.4.2 Java與動態類型 317

8.4.3 java.lang.invoke包 318

8.4.4 invokedynamic指令 321

8.4.5 實戰:掌控方法分派規則 324

8.5 基于棧的字節碼解釋執行引擎 326

8.5.1 解釋執行 327

8.5.2 基于棧的指令集與基于寄存器的指令集 328

8.5.3 基于棧的解釋器執行過程 329

8.6 本章小結 334


第9章 類加載及執行子系統的案例與實戰 335

9.1 概述 335

9.2 案例分析 335

9.2.1 Tomcat:正統的類加載器架構 335

9.2.2 OSGi:靈活的類加載器架構 338

9.2.3 字節碼生成技術與動態代理的實現 341

9.2.4 Backport工具:Java的時光機器 345

9.3 實戰:自己動手實現遠程執行功能 348

9.3.1 目標 348

9.3.2 思路 349

9.3.3 實現 350

9.3.4 驗證 355

9.4 本章小結 356


【第四部分 程序編譯與代碼優化】

●第10章 前端編譯與優化 358

10.1 概述 358

10.2 Javac編譯器 359

10.2.1 Javac的源碼與調試 359

10.2.2 解析與填充符號表 362

10.2.3 注解處理器 363

10.2.4 語義分析與字節碼生成 364

10.3 Java語法糖的味道 367

10.3.1 泛型 367

10.3.2 自動裝箱-拆箱與遍歷循環 375

10.3.3 條件編譯 377

10.4 實戰:插入式注解處理器 378

10.4.1 實戰目標 379

10.4.2 代碼實現 379

10.4.3 運行與測試 385

10.4.4 其他應用案例 386

10.5 本章小結 386

●第11章 后端編譯與優化 388

11.1 概述 388

11.2 即時編譯器 389

11.2.1 解釋器與編譯器 389

11.2.2 編譯對象與觸發條件 392

11.2.3 編譯過程 397

11.2.4 實戰:查看及分析即時編譯結果 398

11.3 提前編譯器 404

11.3.1 提前編譯的優劣得失 405

11.3.2 實戰:Jaotc的提前編譯 408

11.4 編譯器優化技術 411

11.4.1 優化技術概覽 411

11.4.2 方法內聯 415

11.4.3 逃逸分析 417

11.4.4 公共子表達式消除 420

11.4.5 數組邊界檢查消除 421

11.5 實戰:深入理解Graal編譯器 423

11.5.1 歷史背景 423

11.5.2 構建編譯調試環境 424

11.5.3 JVMCI編譯器接口 426

11.5.4 代碼中間表示 429

11.5.5 代碼優化與生成 432

11.6 本章小結 436


【第五部分 高效并發】

●第12章 Java內存模型與線程 438

12.1 概述 438

12.2 硬件的效率與一致性 439

12.3 Java內存模型 440

12.3.1 主內存與工作內存 441

12.3.2 內存間交互操作 442

12.3.3 對于volatile型變量的特殊規則 444

12.3.4 針對long和double型變量的特殊規則 450

12.3.5 原子性-可見性與有序性 450

12.3.6 先行發生原則 452

12.4 Java與線程 455

12.4.1 線程的實現 455

12.4.2 Java線程調度 458

12.4.3 狀態轉換 460

12.5 Java與協程 461

12.5.1 內核線程的局限 461

12.5.2 協程的復蘇 462

12.5.3 Java的解決方案 464

12.6 本章小結 465

●第13章 線程安全與鎖優化 466

13.1 概述 466

13.2 線程安全 466

13.2.1 Java語言中的線程安全 467

13.2.2 線程安全的實現方法 471

13.3 鎖優化 479

13.3.1 自旋鎖與自適應自旋 479

13.3.2 鎖消除 480

13.3.3 鎖粗化 481

13.3.4 輕量級鎖 481

13.3.5 偏向鎖 483

13.4 本章小結 485


附錄A 在Windows系統下編譯OpenJDK 6 486

附錄B 展望Java技術的未來(2013年版) 493

附錄C 虛擬機字節碼指令表 499

附錄D 對象查詢語言(OQL)簡介 506

附錄E JDK歷史版本軌跡 512

展開全部

深入理解Java虛擬機:JVM特性與實踐(第3版) 作者簡介

周志明(博士) 資深Java技術專家-機器學習技術專家和企業級開發技術專家,現任遠光軟件研究院院長。 開源技術的積極倡導者和推動者,對計算機科學相關的多個領域都有深刻的見解,尤其是人工智能-Java技術和敏捷開發等,對虛擬機技術有非常深入的研究。 撰寫了《深入理解Java虛擬機》《深入理解OSGi》《智慧的疆界》等多本著作,翻譯了《Java虛擬機規范》等著作。其中《深入理解Java虛擬機》已累計印刷逾40次,總銷超過30萬冊,成為原創計算機專業圖書領域難以逾越的豐碑。

商品評論(1條)
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 国产成人一区二区三区高清 | 五十路一区二区三区视频 | 欧美另类老女人 | 99九九国产精品免费视频 | 香蕉久热 | 看看一级毛片 | 国产亚洲高清不卡在线观看 | 国产小视频网址 | 国产成人羞羞电影网站在线观看 | 97超视频在线观看 | 婷婷综合激情五月中文字幕 | 日韩一级一片 | 国产精品酒店视频 | 九九久久精品国产免费看小说 | 皮耶里诺再次出击意大利在线观看 | 精品国产一区二区三区久 | 国产成人一级 | 四虎成人精品在永久免费 | 男人天堂网站在线 | 草天堂| 久久亚洲不卡一区二区 | 久久精品国产欧美成人 | 欧洲美女过性活过程 | 日韩欧美在线一级一中文字暮 | 婷五月综合 | 成人在线小视频 | 久久久综合中文字幕久久 | 97色在线视频| 精品在线免费观看视频 | www激情网 | 婷婷五色月 | 偷拍第一页 | 你懂的在线视频网站 | 亚洲欧美日韩久久精品第一区 | 国产精品第八页 | 99久久精品费精品国产 | 亚洲欧美国产精品专区久久 | 久久伊人成人 | 97影院在线观看 | 四虎影院精品在线观看 | 精品一区二区三区视频日产 |