第一部分 走进Java
1 走进Java第二部分 自动内存管理机制2 Java内存区域与内存溢出异常运行时数据区域程序计数器Java虚拟机栈本地方法栈Java堆方法区HotSpot虚拟机在Java堆中对象分配、布局、访问的过程
对象的创建对象的内存布局 对象头 实例数据 对齐填充对象的访问定位 句柄 直接指针OutOfMemoryError异常
3 垃圾收集器与内存分配策略
哪些内存需要回收什么时候回收如何回收确定对象不可能再被任何途径使用
引用计数算法可达性分析算法强软弱虚四种引用类型finalize()垃圾收集算法
标记清除算法复制算法标记整理算法垃圾收集器
4 虚拟机性能监控与故障处理工具
5 调优案例分析和实战第三部分 虚拟机执行子系统6 类文件结构7 虚拟机类加载机制类加载过程
加载 验证 准备 解析 初始化类加载器
双亲委派模型启动类加载器 扩展类加载器 应用程序类加载器如果一个类加载器收到了类加载的请求 它首先不会自己去加载这个类而是把这个请求委派给父类加载器去完成 当父加载器无法完成加载子加载器才会加载8 虚拟机字节码执行引擎
运行时栈帧结构局部变量表 操作数栈 动态连接 方法返回地址 附加信息9 类加载及执行子系统的案例与实战
第四部分 程序编译与代码优化10 早期编译期优化11 晚期运行期优化第五部分 高效并发12 Java内存模型与线程13 线程安全与锁优化