作品简介

这是一部从工作原理和工程实践两个维度深入剖析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历史版本轨迹
展开全部