深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)
作品简介
这是一部从工作原理和工程实践两个维度深入剖析JVM的著作,是计算机领域公认的经典,繁体版在台湾也颇受欢迎。
自2011年上市以来,前两个版本累计印刷36次,销量超过30万册,两家主要网络书店的评论近90000条,内容上近乎零差评,是原创计算机图书领域不可逾越的丰碑。
第3版在第2版的基础上做了重大修订,内容更丰富、实战性更强:根据新版JDK对内容进行了全方位的修订和升级,围绕新技术和生产实践新增逾10万字,包含近50%的全新内容,并对第2版中含糊、瑕疵和错误内容进行了修正。
周志明(博士)资深Java技术专家、机器学习技术专家和企业级开发技术专家,现任远光软件研究院院长。开源技术的积极倡导者和推动者,对计算机科学相关的多个领域都有深刻的见解,尤其是人工智能、Java技术和敏捷开发等,对虚拟机技术有非常深入的研究。
撰写了《深入理解Java虚拟机》《深入理解OSGi》《智慧的疆界》等多本著作,翻译了《Java虚拟机规范》等著作。其中《深入理解Java虚拟机》已累计印刷逾36次,总销超过30万册,成为原创计算机专业图书领域难以逾越的丰碑。
作品目录
前言
致谢
第一部分 走近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 构建编译环境
A.4 准备依赖项
A.5 进行编译
附录B 展望Java技术的未来(2013年版)
B.1 模块化
B.2 混合语言
B.3 多核并行
B.4 进一步丰富语法
B.5 64位虚拟机
附录C 虚拟机字节码指令表
附录D 对象查询语言(OQL)简介
D.1 SELECT子句
D.2 FROM子句
D.3 WHERE子句
D.4 属性访问器
D.5 OQL语言的BNF范式
附录E JDK历史版本轨迹
载入中