《JVM精講與GC調優(yōu)教程》精華版
JVM故障診斷與性能優(yōu)化,是中高級程序員、架構師等的必備技能,更是入職大廠(chǎng)的敲門(mén)磚。JVM作為Java生態(tài)的核心價(jià)值體現,垃圾回收算法、JIT、底層原理值得每個(gè)程序員去探索,而且JVM是跨語(yǔ)言的平臺,對于深入理解Scala、Kotlin、JavaScript、Jython、Groovy等語(yǔ)言非常有幫助。
本套教程為滿(mǎn)足更多學(xué)習者的需求,是經(jīng)典教程的濃縮精華版,重點(diǎn)與難點(diǎn)突出,更注重實(shí)戰演練,集成了百余道大廠(chǎng)真題,并增加了調優(yōu)內容,含4大OOM案例和7大性能優(yōu)化案例。學(xué)習者可以通過(guò)本套教程,快速學(xué)習或有選擇的學(xué)習。
教程目錄
01-教程簡(jiǎn)介
02-JVM與GC調優(yōu)內容介紹
03-JVM內容概述
04-字節碼文件的概述
05-字節碼相關(guān)的面試題(上)
06-字節碼相關(guān)的面試題(下)
07-Class文件結構的分析
08-相關(guān)的字節碼指令
09-類(lèi)的加載概述_loading的階段
10-鏈接環(huán)節的執行
11-類(lèi)的初始化_主動(dòng)使用與被動(dòng)使用
12-類(lèi)的使用與類(lèi)的卸載
13-類(lèi)的加載器的分類(lèi)
14-ClassLoader的源碼分析
15-自定義類(lèi)的加載器
16-雙親委派機制
17-Tomcat的類(lèi)加載機制
18-程序計數器的理解
19-棧的理解
20-局部變量表的說(shuō)明
21-操作數棧
22-動(dòng)態(tài)鏈接(指向運行時(shí)常量池中該方法的引用)
23-方法返回地址
24-棧總結的五個(gè)面試問(wèn)題
25-本地方法棧的說(shuō)明
26-堆空間大小的設置
27-新生代與老年代的參數設置
28-對象分配過(guò)程
29-MinorGC、MajorGC、FullGC
30-方法區的設置_演進(jìn)
31-教程小結
32-對象的創(chuàng )建方式
33-創(chuàng )建的對象的內存分配過(guò)程
34-對象的內存布局
35-對象的訪(fǎng)問(wèn)定位
36-解釋器與JIT編譯器
37-JIT針對何種代碼進(jìn)行提前編譯
38-兩種不同的編譯器C1和C2
39-GC的基本概念
40-引用技術(shù)算法的理解
41-可達性分析算法
42-垃圾標記和清除環(huán)節的算法
43-System.gc()與finalize()的說(shuō)明
44-內存溢出和內存泄漏問(wèn)題
45-安全點(diǎn)與安全區域_并行與并發(fā)
46-五種引用的說(shuō)明
47-GC評價(jià)指標
48-GC的組合關(guān)系
49-SerialGC
50-ParNewGC
51-ParallelGC
52-CMSGC
53-G1GC
54-GC日志分析
55-案例一:堆溢出
56-案例二:元空間溢出
57-案例三:GC overhead limit exceeded
58-案例四:創(chuàng )建線(xiàn)程1
59-案例四:創(chuàng )建線(xiàn)程2
60-調優(yōu)的基本問(wèn)題
61-調優(yōu)的步驟
62-Jmeter的配置
63-優(yōu)化案例1:調整堆大小提升服務(wù)的吞吐量
64-優(yōu)化案例2:逃逸分析之棧上分配
65-優(yōu)化案例2:逃逸分析之標量替換、鎖消除
66-優(yōu)化案例3:合理配置堆內存
67-如何計算YGC發(fā)生頻率
68-UseAdaptiveSizePolicy的使用
69-優(yōu)化案例4:CPU占用很高的排查方案
70-優(yōu)化案例5:G1并發(fā)GC線(xiàn)程數對性能的影響
71-優(yōu)化案例6:調整垃圾回收器對吞吐量的影響
72-優(yōu)化案例7:日均百萬(wàn)訂單如何設置JVM參數
73-多種命令行工具的使用
74-Arthas的基本使用
75-教程總結