深入讲解 Java 虚拟机技术原理。
时间2天。
Java 虚拟机
- JVM概述
- JVM生命周期
- JVM 体系结构
- 体系结构图
- 程序计数器 Program Counter (PC)
- Java堆
- Stack 栈概念
- Java 栈
- 方法区
- 本地方法栈
- 运行时常量池
- 直接内存
- 运行时栈帧结构
- 栈帧图
- 局部变量表
- 操作数栈
- 动态连接
- 方法返回地址
- 方法调用
- 方法解析
Java Class 文件
- Java class 作用
- class文件内容
- class字段说明
- 基本信息
- 常量池
- 标志和类索引
- 各类型索引
- 字节码文件分析
- 字节码分析原图
- 字节码指令(一)
- 字节码指令(二)
- 字节码指令(三)
类文件校验和类加载
- class文件校验器
- class文件结构检查
- 类型数据的语义检查
- 字节码验证
- 符号引用的验证
- Class Loader 体系结构
- 三层类加载器机制
- JDK9以后类加载机制
- JDK9类加载代码
- JDK9类加载器
- 类加载过程
- 类加载步骤
- 初始化场景
- 加载
- 验证
- 准备
- 解析
- 初始化
- 类加载过程
- 自定义类加载器步骤
- Tomcat 类加载
- Tomcat 类加载图示
- OSGi 类加载
- OSGi 类加载过程
ASM 和 Cglib
- asm
- 核心类
- Cglib
- Cglib重点类
- Cglib 使用
- asm 和 Cglib 范例
理解 JVM
- JVM 参数选项
- JVM堆中常用参数设置
- JVM 启动过程
- 启动过程源码分析
- 方法声明
- Hotspot 组成模块
- prims 模块
- JNI 子模块
- JNI 调用图例
- JTMTI 子模块
- runtime 模块
- Thread 子模块
- JVM初始化代码
- GC模块
Java GC
- 垃圾收集
- 垃圾收集分代
- 永久代和元空间
- TLAB
- 内存对象分配
- 堆内存分配
- 垃圾收集步骤
- 根搜索算法
- Java 对象引用关系
- 垃圾收集算法
- 标记-清除算法(Mark-Sweep)
- 复制算法(Copying)
- 标记-整理算法(Mark-compact)
- 分代回收算法 Generational Collection
- 垃圾收集设计
- 垃圾收集图示(新生代)
- 垃圾收集图示(老生代)
- Stop the World
- Safepoint安全点
- GC log日志记录
- 垃圾回收日志示例
- GC jstat实例
GC 实现
- 主流垃圾收集器(一)
- 主流垃圾收集器(二)
- 主流垃圾收集器(三)
- JVM 默认垃圾收集器
- CMS GC
- G1 GC
- G1 运行过程
- 混合回收
- G1 回收过程