劍指JVM:虛擬機實踐與性能調優

尚硅谷教育

  • 出版商: 清華大學
  • 出版日期: 2023-05-01
  • 售價: $774
  • 貴賓價: 9.5$735
  • 語言: 簡體中文
  • 頁數: 546
  • 裝訂: 平裝
  • ISBN: 7302628114
  • ISBN-13: 9787302628118
  • 相關分類: Java 程式語言
  • 立即出貨 (庫存 < 4)

  • 劍指JVM:虛擬機實踐與性能調優-preview-1
  • 劍指JVM:虛擬機實踐與性能調優-preview-2
  • 劍指JVM:虛擬機實踐與性能調優-preview-3
劍指JVM:虛擬機實踐與性能調優-preview-1

買這商品的人也買了...

商品描述

《劍指JVM:虛擬機實踐與性能調優》共分5篇:引言篇講述了Java與Java虛擬機的關系,以及Java虛擬機的相關知識;第1篇講述了運行時數據區,涉及Java內存區域的各個核心結構,以及對象創建的各種細節;第2篇講述了垃圾收集,涉及各種收集算法、垃圾收集器;第3篇講述了字節碼與類的加載;第4篇講述了性能監控與調優,帶領讀者學習Java虛擬機常用的監控與調優工具,並附有企業級的性能調優案例。本書配套視頻,可以關註尚硅谷教育公眾號獲取。

目錄大綱

目錄

 

引言篇

 

第1章 JVM與Java體系結構 ·············2

 

1.1 為什麽要學習JVM ··························2

 

1.2 Java及JVM的簡介 ·························2

 

1.2.1 Java:跨平臺的語言 ·······················2

 

1.2.2 JVM:跨語言的平臺 ·······················4

 

1.3 Java發展的重大事件 ························6

 

1.4 Open JDK和Oracle JDK ···················7

 

1.5 虛擬機與JVM ································7

 

1.5.1 虛擬機 ·········································7

 

1.5.2 JVM ············································8

 

1.6 JVM的整體結構 ·····························8

 

1.7 Java代碼執行流程 ···························9

 

1.8 JVM的架構模型 ·····························9

 

1.9 JVM的生命周期 ···························13

 

1.10 JVM的發展歷程 ·························14

 

1.10.1 Sun Classic VM ····························14

 

1.10.2 Exact VM ···································14

 

1.10.3 HotSpot VM ································14

 

1.10.4 BEA的JRockit ····························15

 

1.10.5 IBM的J9 ··································15

 

1.10.6 KVM和CDC/CLDC HotSpot ··········15

 

1.10.7 Azul VM ····································16

 

1.10.8 Liquid VM ··································16

 

1.10.9 Apache Harmony ··························16

 

1.10.10 Microsoft JVM ···························16

 

1.10.11 Taobao JVM ······························17

 

1.10.12 Dalvik VM/ART VM ····················17

 

1.10.13 Graal VM ··································17

 

1.10.14 其他JVM ·································18

 

1.11 本章小結 ···································18

 

第1篇 運行時數據區篇

 

第2章 運行時數據區及線程概述 ·······20

 

2.1 運行時數據區概述 ·························20

 

2.2 線程 ···········································21

 

2.3 本章小結 ·····································21

 

第3章 程序計數器 ·························22

 

3.1 程序計數器介紹 ····························22

 

3.2 程序計數器舉例說明 ······················22

 

3.3 程序計數器常見問題 ······················23

 

3.4 本章小結 ·····································23

 

第4章 虛擬機棧 ····························24

 

4.1 虛擬機棧概述 ·······························24

 

4.2 棧的存儲單位 ·······························28

 

4.3 局部變量表 ··································31

 

4.3.1 局部變量表簡介 ····························31

 

4.3.2 Slot ············································32

 

4.4 操作數棧 ·····································34

 

4.5 棧頂緩存技術 ·······························37

 

4.6 動態鏈接 ·····································37

 

4.7 方法的調用 ··································38

 

4.7.1 方法調用的分類 ····························38

 

4.7.2 虛方法與非虛方法 ·························40

 

4.7.3 關於invokedynamic指令 ·················43

 

4.7.4 方法重寫的本質 ····························44

 

4.7.5 虛方法表 ·····································44

 

4.8 方法返回地址 ·······························47

 

4.9 本章小結 ·····································51

 

第5章 本地方法接口 ······················52

 

5.1 本地方法接口概述 ·························52

 

5.2 本章小結 ·····································53

 

第6章 本地方法棧 ·························54

 

第7章  堆 ·····································56

 

第8章 方法區 ·······························84

 

第9章 對象的實例化內存佈局與訪問定位·································112

 

第10章 直接內存 ·························119

 

第11章 執行引擎 ·························127

 

第12章 字符串常量池 ···················138

 

第2篇 垃圾收集篇

 

第13章 垃圾收集概述 ···················160

 

第14章 垃圾收集相關算法 ·············163

 

第15章 垃圾收集相關概念 ·············183

 

第16章 垃圾收集器 ······················203

 

第3篇 字節碼與類的加載篇

 

第17章 class文件結構 ·················226

 

第18章 字節碼指令集與解析 ··········268

 

第19章 類的加載過程詳解 ·············318

 

第20章 類加載器 ·························338

 

第4篇 性能監控與調優篇

 

第21章 命令行工具 ······················368

 

第22章 JVM監控及診斷工具 ·········396

 

第23章 JVM運行時參數 ···············475

 

第24章 GC日誌分析 ···················487

 

第25章 OOM分類及解決方案········506

 

第26章 性能優化案例 ···················517