更新时间:2020-01-03 17:42:16
封面
版权信息
前言
致谢
第一部分 走近Java
第1章 走近Java
1.1 概述
1.2 Java技术体系
1.3 Java发展史
1.4 Java虚拟机家族
1.5 展望Java技术的未来
1.6 实战:自己编译JDK
1.7 本章小结
第二部分 自动内存管理
第2章 Java内存区域与内存溢出异常
2.1 概述
2.2 运行时数据区域
2.3 HotSpot虚拟机对象探秘
2.4 实战:OutOfMemoryError异常
2.5 本章小结
第3章 垃圾收集器与内存分配策略
3.1 概述
3.2 对象已死?
3.3 垃圾收集算法
3.4 HotSpot的算法细节实现
3.5 经典垃圾收集器
3.6 低延迟垃圾收集器
3.7 选择合适的垃圾收集器
3.8 实战:内存分配与回收策略
3.9 本章小结
第4章 虚拟机性能监控、故障处理工具
4.1 概述
4.2 基础故障处理工具
4.3 可视化故障处理工具
4.4 HotSpot虚拟机插件及工具
4.5 本章小结
第5章 调优案例分析与实战
5.1 概述
5.2 案例分析
5.3 实战:Eclipse运行速度调优
5.4 本章小结
第三部分 虚拟机执行子系统
第6章 类文件结构
6.1 概述
6.2 无关性的基石
6.3 Class类文件的结构
6.4 字节码指令简介
6.5 公有设计,私有实现
6.6 Class文件结构的发展
6.7 本章小结
第7章 虚拟机类加载机制
7.1 概述
7.2 类加载的时机
7.3 类加载的过程
7.4 类加载器
7.5 Java模块化系统
7.6 本章小结
第8章 虚拟机字节码执行引擎
8.1 概述
8.2 运行时栈帧结构
8.3 方法调用
8.4 动态类型语言支持
8.5 基于栈的字节码解释执行引擎
8.6 本章小结
第9章 类加载及执行子系统的案例与实战
9.1 概述
9.2 案例分析
9.3 实战:自己动手实现远程执行功能
9.4 本章小结
第四部分 程序编译与代码优化
第10章 前端编译与优化
10.1 概述
10.2 Javac编译器
10.3 Java语法糖的味道
10.4 实战:插入式注解处理器
10.5 本章小结
第11章 后端编译与优化
11.1 概述
11.2 即时编译器
11.3 提前编译器
11.4 编译器优化技术
11.5 实战:深入理解Graal编译器
11.6 本章小结
第五部分 高效并发
第12章 Java内存模型与线程
12.1 概述
12.2 硬件的效率与一致性
12.3 Java内存模型
12.4 Java与线程
12.5 Java与协程
12.6 本章小结
第13章 线程安全与锁优化
13.1 概述
13.2 线程安全
13.3 锁优化
13.4 本章小结
附录A 在Windows系统下编译OpenJDK 6
A.1 获取JDK源码
A.2 系统需求
A.3 构建编译环境