构建 JVM培训
1 构建解释器核心
2 ClassFile 解析
3 运行时数据、Frame、MetaSpace 与 Heap
4 实现基本指令集
5 类初始化与静态字段的存取
6 继承,多态与接口默认方法
7 异常处理和反射机制
8 扩展解释器核心
9 类加载器
10 解释器与运行时集成
11 静态方法调用与本地方法调用
12 实例,实例化与实例字段的存取
13 数组,字符串与命令行参数
14 虚拟机的初始化与 System.out
1
快速原型,构建解释器核心
1.解释器是什么
2.javap命令
3.机器语言与汇编语言
4.字节码对应的“汇编语言”
5.解释器的核心实现
2
再接再厉,扩展解释器核心
1.解释器的扩展
2.项目结构组织
3
ClassFile 解析
1.Class文件格式
2.JavaIO操作
3.Class文件解析
4
类加载器
1.classpath是什么
2.如何找到指定的class
3.类加载器的作用
5
运行时数据、Frame、MetaSpace 与 Heap
1.运行时数据结构
2.栈帧
3.操作数栈
4.本地变量表
5.元空间
6.堆
6
解释器与运行时集成
1.解释器如何操作运行时数据
2.操作运行时数据
3.解释main方法
7
实现基本指令集
1.指令集分类
2.代码生成
3.常量指令
4.加载存储指令
5.数学指令
6.比较指令
8
静态方法调用与本地方法调用
1.方法调用实现
2.stackoverflow错误
3.invokestatic指令
4.本地方法
5.本地方法调用
9
面向对象,类初始化与静态字段的存取
1.类
2.静态变量
3.类初始化
4.类的递归初始化
5.putstatic,getstatic
10
面向对象,实例,实例化与实例字段的存取
1.new指令
2.实例化
3.实例的递归初始化
4.getfield,putfield指令
5.栈指令集的实现
11
面向对象,继承,多态与接口默认方法
1.继承
2.多态
3.接口初始化
4.默认方法
12
数组,字符串与命令行参数
1.newarray,anewarray指令
2.基本类型数组
3.引用类型数组
4.java/lang/String类与char[]
13
异常处理
1.异常处理实现
2.空指针异常
3.trycatch原理
14
反射机制
1.反射机制
2.本地方法
15
虚拟机的初始化与 System.out
1.虚拟机的初始化入口
2.Systemout的初始化时机
16
功能补充
1.可观测性
2.verbose系列选项
3.jar方式启动
4.异常栈关联行号
5.空指针异常提示优化