新书速递深入理解Java虚拟机HotSpot

Posted 华章计算机

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新书速递深入理解Java虚拟机HotSpot相关的知识,希望对你有一定的参考价值。

横看成岭侧成峰,远近高低各不同。不同的人从不同的角度看到的HotSpot VM也不尽相同。从Java应用开发者的角度出发,虚拟机如图下所示。


【新书速递】深入理解Java虚拟机HotSpot


Java应用开发者关注Java语言,关注应用的实现和库的实现,用合法的Java代码表达思想,通过编译器工具编译产出字节码交给虚拟机运行。在他们眼中虚拟机是一个黑盒,所以更期望虚拟机的行为能遵循Java相关规范,这样才能放心地用语言集实现应用程序或库,进而供用户使用。

虚拟机开发者关注虚拟机内部,在他们眼中,虚拟机不再是黑盒,而是各个组件根据规则交互的一套“Java操作系统”。当上层应用出现问题时,他们可以从虚拟机层找出问题致因,当上层语言需要新特性、新功能,或者下层操作系统提供新特性时,他们可以在虚拟机层实现,然后以某种方式暴露给上层。从虚拟机开发者的角度出发,虚拟机如下图所示。


【新书速递】深入理解Java虚拟机HotSpot


很多JVM的底层技术细节你是否只了解表面?

面对JVM Crash或性能调优方面的问题时你是否会束手无策?

面对上层Java应用发生的偏离预期的行为是否会不知所措?

 ……




今天为你推荐一本新书《深入解析Java虚拟机HotSpot》,这本书以源码分析为基础,从运行时、垃圾回收器、即时编译器3个维度全面、深入解析HotSpot VM的底层实现和工作机制,同时与上层的Java语言和库结合,指导读者解决JVM开发、JVM调优和JVM排错方面遇到的各种问题。作者是阿里云Java技术专家,热衷于研究编程语言的设计与实现,对Java虚拟机和编译器都有很深入的研究。


广度与深度兼顾:广度上涵盖Graal VM、CDS、Instrumentation、编译重放、非标准字节码、RTM锁、JIT调试工具、EpsilonGC/ShenandoahGC/ZGC、G1字符串去重等重要知识点;深度上深入解析了C1、C2、G1GC、ObjectMonitor、Mutex、模板解释器等的底层实现。

 

全书共 11 章,参考 OpenJDK 社区的划分方式来组织内容,分为运行时、即时编译器、垃圾回收器三个部分。


第一部分 运行时

首先,从Java生态系统的角度,简单介绍了JDK、JVM、JEP、HotSpot VM、Graal VM,引导读者快速进入Java虚拟机的世界;然后从源码的角度深入解析了HotSpot VM的类可用机制、对象和类、运行时、模板解释器和并发设施。


第二部分 即时编译器

首先重点介绍了即时编译器技术、编译理论、编译器调试方法等编译器的基础知识;然后详细讲解了C1和C2两个即时编译器的实现原理、工作机制和优化方法。


第三部分 垃圾回收器

首先全面介绍了Epsilon GC、Serial GC、Parallel GC、CMS GC、G1 GC、Shenandoah GC、ZGC等各种垃圾回收器,然后重点剖析了G1 GC。


作者杨易,Java开发工程师,就职于阿里云基础设施部。热衷于研究编程语言的设计与实现,对Java语言的设计与实现有非常深入的研究,尤其是Java的虚拟机HotSpot VM,在JVM的开发、调优和排错方面积累了丰富的经验。此外,在编译器领域也有较深厚的积累。有着自由软件精神的开发者,是GitHub中国区followers数量排名前100的开源项目维护者。


大多数程序员都有中年危机,而深入研究技术,将技术做深、做精、做专是技术人员避免中年危机的明智之举。对于Java程序员来说,这本书能带你走向Java底层,深入了解HotSpot虚拟机的运行原理与实现机制,是走向Java技术巅峰的不二选择。