内容简介 · · · · · ·
内容介绍
这是一部从工作原理和工程实践两个维度深入剖析JVM的著作,是计算机领域公认的经典,繁体版在台湾也颇受欢迎。
自2011年上市以来,前两个版本累计印刷36次,销量超过30万册,两家主要网络书店的评论近90000条,内容上近乎零差评,是原创计算机图书领域不可逾越的丰碑。
第3版在第2版的基础上做了重大修订,内容更丰富、实战性更强:根据新版JDK对内容进行了全方位的修订和升级,围绕新技术和生产实践新增逾10万字,包含近50%的全新内容,并对第2版中含糊、瑕疵和错误内容进行了修正。
全书一共13章,分为五大部分:
第一部分(第1章)走近Java
系统介绍了Java的技术体系、发展历程、虚拟机家族,以及动手编译JDK,了解这部分内容能对学习JVM提供良好的指引。
第二部分(第2~5章)自动内存管理
详细讲解了Java的内存区域与内存溢出、垃圾收集器与...
内容介绍
这是一部从工作原理和工程实践两个维度深入剖析JVM的著作,是计算机领域公认的经典,繁体版在台湾也颇受欢迎。
自2011年上市以来,前两个版本累计印刷36次,销量超过30万册,两家主要网络书店的评论近90000条,内容上近乎零差评,是原创计算机图书领域不可逾越的丰碑。
第3版在第2版的基础上做了重大修订,内容更丰富、实战性更强:根据新版JDK对内容进行了全方位的修订和升级,围绕新技术和生产实践新增逾10万字,包含近50%的全新内容,并对第2版中含糊、瑕疵和错误内容进行了修正。
全书一共13章,分为五大部分:
第一部分(第1章)走近Java
系统介绍了Java的技术体系、发展历程、虚拟机家族,以及动手编译JDK,了解这部分内容能对学习JVM提供良好的指引。
第二部分(第2~5章)自动内存管理
详细讲解了Java的内存区域与内存溢出、垃圾收集器与内存分配策略、虚拟机性能监控与故障排除等与自动内存管理相关的内容,以及10余个经典的性能优化案例和优化方法;
第三部分(第6~9章)虚拟机执行子系统
深入分析了虚拟机执行子系统,包括类文件结构、虚拟机类加载机制、虚拟机字节码执行引擎,以及多个类加载及其执行子系统的实战案例;
第四部分(第10~11章)程序编译与代码优化
详细讲解了程序的前、后端编译与优化,包括前端的易用性优化措施,如泛型、主动装箱拆箱、条件编译等的内容的深入分析;以及后端的性能优化措施,如虚拟机的热点探测方法、HotSpot 的即时编译器、提前编译器,以及各种常见的编译期优化技术;
第五部分(第12~13章)高效并发
主要讲解了Java实现高并发的原理,包括Java的内存模型、线程与协程,以及线程安全和锁优化。
全书以实战为导向,通过大量与实际生产环境相结合的案例分析和展示了解决各种Java技术难题的方案和技巧。
深入理解Java虚拟机 (第3版)的创作者
· · · · · ·
-
周志明 作者
作者简介 · · · · · ·
周志明(博士)
资深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历史版本轨迹
· · · · · · (收起)
原文摘录 · · · · · · ( 全部 )
-
GC日志开头的“[GC”和“[Full GC”说明了这次垃圾收集的停顿类型,而不是 用来区分新生代GC还是老年代GC的。如果有“Full”,说明这次GC是发生了Stop-The-World 的 (查看原文) —— 引自第89页 -
由于使用了准确式内存管理,Exact VM可以抛弃掉以前Classic VM基于handler的对象查找方式(原因是GC后对象将可能会被移动位置,如果地址为123456的对象移动到654321,在没有明确信息表明内存中哪些数据是reference的前提下,那虚拟机是不敢把内存中所有为123456的值改成654321的,所以要使用句柄来保持reference值的稳定),这样每次定位对象都少了一次间接查找的开销,提升执行性能。 (查看原文) —— 引自第10页
> 全部原文摘录
丛书信息
· · · · · ·
喜欢读"深入理解Java虚拟机 (第3版)"的人也喜欢的电子书 · · · · · ·
喜欢读"深入理解Java虚拟机 (第3版)"的人也喜欢 · · · · · ·
-
- 数据密集型应用系统设计 9.6
-
- 图解Java多线程设计模式 8.8
-
- Java 8实战 9.2
-
- 虚拟机设计与实现 8.2
-
- MySQL是怎样运行的 9.4
-
- Redis设计与实现 8.7
-
- 微服务架构设计模式 9.1
-
- 重构(第2版) 9.2
深入理解Java虚拟机 (第3版)的书评 · · · · · · ( 全部 80 条 )
豆瓣9.0,35万读者“搜不到信息”的神秘作者,有人帮你找到了
> 更多书评 80篇
论坛 · · · · · ·
| 求此书pdf | 来自潘达守护者🐼 | 4 回应 | 2023-12-01 17:02:33 |
| 三色标记算法为什么黑色对象不能直接引用白色对象呢 | 来自蓝猫和魂之挽歌 | 1 回应 | 2021-06-30 17:09:33 |
| 311页 showmethemoney | 来自郑能亮 | 1 回应 | 2020-06-06 10:28:12 |
| 改变了国内技术数籍不如外国的印象 | 来自夏夜春风秋意寒 | 2020-03-05 16:12:50 | |
| 请问有必要买第3版吗?公司只到8 | 来自大刀 | 2 回应 | 2019-12-26 00:06:40 |
这本书的其他版本 · · · · · · ( 全部4 )
-
机械工业出版社 (2013)9.1分 1982人读过
-
机械工业出版社 (2011)8.6分 920人读过
-
佳魁 (2013)暂无评分 1人读过
以下书单推荐 · · · · · · ( 全部 )
- 豆瓣高分书籍是否名实相符(一) (无心恋战)
- 豆瓣9分以上计算机图书 (晚安,本杰明)
- 3.Java (葡萄)
- IT 三级 Java程序设计语言、框架技术(实用性) 1.1.1.1.2 (ajian005)
- 评分9分以上的计算机图书 (子苓)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于深入理解Java虚拟机 (第3版)的评论:
feed: rss 2.0


2 有用 村长大人好帅 2020-05-17 12:37:48
因为不完美,我们才有不断追求完美的动力
26 有用 TianbingJ 2020-01-20 23:34:11
先打个4分怕周志明老师骄傲,读完再来评价。 读完改成5星,两个礼拜读完,比第二版增加了不少内容。
4 有用 dtimes6 2022-02-19 10:27:59
一般般吧,没有深度
0 有用 于小鱼 2022-01-28 11:07:21
第三版终于基于新的JDK 13了,依然经典,不过部分基于老JDK的内容还是没有删除或改写
5 有用 Fullerton 2020-03-12 19:31:53
后几章因为编译原理忘的差不多,看着比较痛苦。总体无可言述。里面一些实例需要更新,虽然legacy code比较多,但是可以看早期版本,新版需要介绍新特性。另外开发工具能否用vscode,这个是主流,编译完jdk12后面就没怎么介绍12,现在14都出来了。估计作者也无暇,因为新特性要了解学习需要时间积累。多线程与并发未来会继续发展,未来新语言如何?祝Java一路走好。