深入理解Java虚拟机-HotSpot [ 福利 ] 你是一个真的Javaer吗?

JAVA乐园

共 1459字,需浏览 3分钟

 ·

2021-04-20 02:48

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


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

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

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

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

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

 ……

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



 

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

 

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

第一部分 运行时

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

第二部分 即时编译器

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

第三部分 垃圾回收器

首先全面介绍了Epsilon GCSerial GCParallel GCCMS GCG1 GCShenandoah GCZGC等各种垃圾回收器,然后重点剖析了G1 GC


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


浏览 44
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报