You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

5.2 KiB

尾声 | 道阻且长,努力加餐

说句实话我也不知道是怎么写完这36篇技术文章的。

一周三篇的文章接近近万字说多不多对我而言还是挺困难的一件事。基本上我连续好几个月的业余时间都贡献给写作甚至一度重温了博士阶段被论文支配的恐怖。我想这大概也算是在工作相对清闲的国外环境下体验了一把997的生活。

这一路下来,我感觉写专栏的最大问题,其实并不在于写作本身,而在于它对你精力的消耗,这种消耗甚至会让你无法专注于本职工作。因此,我也愈发地佩服能够持续分享技术的同行们。还好我的工作挺有趣的,每天开开心心地上班写代码,只是一到下班时间就蔫了,不得不应付编辑的催稿回家码字。

我在写作的中途,多次感受到存稿不足的压力,以致于需要请年假来填补写作的空缺。不过,最后做到了风雨无阻、节假无休地一周三更,也算是幸不辱命吧。

说回专栏吧。在思考专栏大纲时我想着最好能够和杨晓峰老师的Java核心技术专栏形成互补呈现给大家的内容相对更偏向于技术实现。

因此,有读者曾反馈讲解的知识点是否太偏,不实用。当时我的回答是,我并不希望将专栏单纯写成一本工具书,这样的知识你可以从市面上任意买到一本书获得。

我更希望的是能够通过介绍Java虚拟机各个组件的设计和实现让你之后遇到虚拟机相关的问题时能够联想到具体的模块甚至是对于其他语言的运行时也可以举一反三相互对照。

不过当我看到Aleksey Shipilev介绍JMH的讲座时,发现大部分的内容专栏里都有涉及。于是心想,我还能够在上述答复中加一句:看老外的技术讲座再也不费劲了。

还有一个想说的是关于专栏知识点的正确性。我认为虚拟机的设计可以写一些自己的理解但是具体到目前HotSpot的工程实现则是确定的。

为此几乎每篇专栏我都会大量阅读HotSpot的源代码和同事讨论实现背后的设计理念在这个过程中我也发现了一些HotSpot中的Bug或者年久失修的代码又或者是设计不合理的地方。这大概也能够算作写专栏和我本职工作重叠的地方吧。

我会仔细斟酌文章中每一句是否可以做到达意。即便是这样,文章肯定还有很多不足,比如叙述不够清楚,内容存在误导等问题。许多读者都热心地指了出来,在此感谢各位的宝贵意见。接下来一段时间,我会根据大家的建议,对前面的文章进行修订。

专栏虽然到此已经结束了但是并不代表你对Java虚拟机学习的停止 我想专栏的内容仅仅是为你打开了JVM学习的大门里面的风景还是需要你自己来探索。在文章的后面我列出了一系列的Java虚拟机技术的相关博客和阅读资料你仍然可以继续加餐。

你可以关注国内几位Java虚拟机大咖的微信公众号R大个人认为是中文圈子里最了解Java虚拟机设计实现的人你可以关注他的知乎账号你假笨原阿里Java虚拟机团队成员PerfMa CEO江南白衣,唯品会资深架构师;占小狼,美团基础架构部技术专家;杨晓峰,前甲骨文首席工程师。

如果英文阅读没问题的话,你可以关注Cliff ClickAleksey Shipilëv(他的JVM Anatomy Park十分有趣)和Nitsan Wakart的博客。你也可以关注Java Virtual Machine Language SubmitOracle Code One前身是JavaOne大会中关于Java虚拟机的演讲以便掌握Java的最新发展动向。

当然如果对GraalVM感兴趣的话你可以订阅我们团队的博客。我会在之后考虑将文章逐一进行翻译。

其他的阅读材料你可以参考R大的这份书单,或者这个汇总贴

如果这个专栏激发了你对Java虚拟机的学习热情那么我建议你着手去阅读HotSpot源代码并且回馈给OpenJDK开源社区。这种回馈并不一定是提交patch也可以是Bug report或者改进建议等等。

我也会不定期地在本专栏中发布新的Java虚拟机相关内容你如果有想要了解的内容也可以给我留言反馈。

最后,感谢一路以来的陪伴与支持,谢谢你,我们后会有期!