
構(gòu)建 JVM培訓(xùn)
1 構(gòu)建解釋器核心
2 ClassFile 解析
3 運行時數(shù)據(jù)、Frame、MetaSpace 與 Heap
4 實現(xiàn)基本指令集
5 類初始化與靜態(tài)字段的存取
6 繼承,多態(tài)與接口默認(rèn)方法
7 異常處理和反射機(jī)制
8 擴(kuò)展解釋器核心
9 類加載器
10 解釋器與運行時集成
11 靜態(tài)方法調(diào)用與本地方法調(diào)用
12 實例,實例化與實例字段的存取
13 數(shù)組,字符串與命令行參數(shù)
14 虛擬機(jī)的初始化與 System.out
1
快速原型,構(gòu)建解釋器核心
1.解釋器是什么
2.javap命令
3.機(jī)器語言與匯編語言
4.字節(jié)碼對應(yīng)的“匯編語言”
5.解釋器的核心實現(xiàn)
2
再接再厲,擴(kuò)展解釋器核心
1.解釋器的擴(kuò)展
2.項目結(jié)構(gòu)組織
3
ClassFile 解析
1.Class文件格式
2.JavaIO操作
3.Class文件解析
4
類加載器
1.classpath是什么
2.如何找到指定的class
3.類加載器的作用
5
運行時數(shù)據(jù)、Frame、MetaSpace 與 Heap
1.運行時數(shù)據(jù)結(jié)構(gòu)
2.棧幀
3.操作數(shù)棧
4.本地變量表
5.元空間
6.堆
6
解釋器與運行時集成
1.解釋器如何操作運行時數(shù)據(jù)
2.操作運行時數(shù)據(jù)
3.解釋main方法
7
實現(xiàn)基本指令集
1.指令集分類
2.代碼生成
3.常量指令
4.加載存儲指令
5.數(shù)學(xué)指令
6.比較指令
8
靜態(tài)方法調(diào)用與本地方法調(diào)用
1.方法調(diào)用實現(xiàn)
2.stackoverflow錯誤
3.invokestatic指令
4.本地方法
5.本地方法調(diào)用
9
面向?qū)ο?,類初始化與靜態(tài)字段的存取
1.類
2.靜態(tài)變量
3.類初始化
4.類的遞歸初始化
5.putstatic,getstatic
10
面向?qū)ο?,實例,實例化與實例字段的存取
1.new指令
2.實例化
3.實例的遞歸初始化
4.getfield,putfield指令
5.棧指令集的實現(xiàn)
11
面向?qū)ο?,繼承,多態(tài)與接口默認(rèn)方法
1.繼承
2.多態(tài)
3.接口初始化
4.默認(rèn)方法
12
數(shù)組,字符串與命令行參數(shù)
1.newarray,anewarray指令
2.基本類型數(shù)組
3.引用類型數(shù)組
4.java/lang/String類與char[]
13
異常處理
1.異常處理實現(xiàn)
2.空指針異常
3.trycatch原理
14
反射機(jī)制
1.反射機(jī)制
2.本地方法
15
虛擬機(jī)的初始化與 System.out
1.虛擬機(jī)的初始化入口
2.Systemout的初始化時機(jī)
16
功能補(bǔ)充
1.可觀測性
2.verbose系列選項
3.jar方式啟動
4.異常棧關(guān)聯(lián)行號
5.空指針異常提示優(yōu)化
