1. 关于网站内容和受众人群

网站提供了详尽的虚拟机内容,旨在满足不同人群的需求。网站是订阅式付费策略,具体如下:

第一年购买398元(首次购买),后续每年续费99元

1.1 受众人群

  1. JDK研发人员:从事JDK研发的工作人员,可通过网站内容了解到工作中需要用到的相关技术的细节实现,也能全面掌握Java虚拟机的实现原理
  2. 高校JDK或编译器研究方向的人:学习JDK方向的高校学生,可通过网站内容快速掌握JDK的相关实现原理,为重点研究的课题打好坚实的基础;也能够让编译器等计算机理论与工业级产品JDK相结合,提升自己走向社会的竞争力。
  3. JDK性能调优人员:对Java应用进行性能调优的专业人士,需要深入了解JDK的实现原理才能更快、更精准的定位问题并给出合理的优化解决方案
  4. 对虚拟机,尤其是Java虚拟机技术感兴趣的人:目前许多语言都跑在虚拟机上,例如C#跑在.NET CLR上、Javascript跑在V8上,也就是说Java虚拟机用到的JIT编译技术和垃圾收集器等技术并不独特,技术都是相同的,有对虚拟机感兴趣的都可以研究或参考Java虚拟机的实现

1.2 购买步骤

注册登录 ,在首页进入个人主页 后会出现 付款码,扫码支付时切记要添加注册时的邮箱,付款后10分钟内可生效。

如有疑问可直接加微信 mazhimazh 或打电话咨询 15389892213

2. 关于网站内容的2年更新计划

到2026年6月份之前,网站会重点完成HotSpot VM运行时的内容,在不断增加新内容的同时,也会对现有的内容进行更新,以不断提高文章内容的质量,让基础薄弱的人也能更好的入门

HotSpot VM运行时内容主要介绍HotSpot VM中涉及到的各种方法/函数以及运行时辅助。涉及到的方法/函数以及相关调用如下图所示。

从图中可以看到,主要涉及到native方法、HotSpot VM内部的函数和Java解释执行的方法以及编译执行的方法。这些方法/函数都将详细介绍,目前的编译方法只着重介绍了C1编译器编译的方法,还没有介绍C2编译器编译的方法,不过C2编译器将在后面会介绍。

接下来会在栈遍历内容中介绍各种不同类型方法/函数之间的相互调用,这对于栈展开非常重要。

介绍完了方法/函数后就可以介绍线程和锁了,毕竟各种方法/函数最终还是要在线程上执行的,而在执行过程中,还需要依赖同步设施保证多线程下正确且有序的执行。

程序在执行过程中,总会遇到这样那样的异常情况,所以异常也是程序运行时的重要组成部分。

最后介绍运行时辅助CodeCache以及一些重要的运行的Blob。

3. 关于网站内容

3.1 前端编译器Javac

这一部分内容比较完整,和《深入解析Java编译器:源码剖析与实例详细》一书中的内容大体相当,不过做了排版和一些内容的更新,后续应该不再会有频繁的更新。

这一块内容对于付费读者来说,就当个资料查阅即可,如果有更多的精力,可以多学习虚拟机相关的文章更有用一些,除非你是有特殊的一些需求,如在虚拟机上开发新语言或增强已有语言的特性(比如实现类型膨胀式泛型)。

做优化的话也不要在这个层面去做,得到的收益不会太大反而还可能让C2编译器无法识别到惯常的模式。

3.2 关于HotSpot基础

这其中的许多内容来自《深入剖析Java:源码剖析与实例详解》一书,不过内容已经做了许多的更新,更换了彩色图片,另外目前新了CDS章节,后续在此基础上增加AppCDS和Dynamic CDS新特性的分析,不过这个近二年内可能不会更新上去。

3.3 关于垃圾收集器GC

这其中的部分内容来自《深入剖析Java:源码剖析与实例详解》一书,不过对排版、目录以及图片都做了更新。新增加了垃圾收集器根和Parallel GC的源代码分析,少量内容介绍的还比较笼统,后续会持续完善,另外Parallel GC的Numa Aware比较重要,后续需要分析。

这部分内容在后续还会增加G1垃圾收集器和ZGC的分析,这些内容已经被不少人从源代码的角度分析过了。

3.4 关于HotSpot VM运行时

这一部分应该是大家最关心的内容。目前更新完的内容如下所示。