learn-tech/专栏/深入拆解Java虚拟机/尾声丨道阻且长,努力加餐.html.md
2024-10-16 09:22:22 +08:00

43 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

因收到Google相关通知网站将会择期关闭。相关通知内容
尾声丨道阻且长,努力加餐.html
说句实话,我也不知道是怎么写完这 36 篇技术文章的。
一周三篇的文章接近近万字,说多不多,对我而言还是挺困难的一件事。基本上,我连续好几个月的业余时间都贡献给写作,甚至一度重温了博士阶段被论文支配的恐怖。我想,这大概也算是在工作相对清闲的国外环境下,体验了一把 997 的生活。
这一路下来,我感觉写专栏的最大问题,其实并不在于写作本身,而在于它对你精力的消耗,这种消耗甚至会让你无法专注于本职工作。因此,我也愈发地佩服能够持续分享技术的同行们。还好我的工作挺有趣的,每天开开心心地上班写代码,只是一到下班时间就蔫了,不得不应付编辑的催稿回家码字。
我在写作的中途,多次感受到存稿不足的压力,以致于需要请年假来填补写作的空缺。不过,最后做到了风雨无阻、节假无休地一周三更,也算是幸不辱命吧。
说回专栏吧。在思考专栏大纲时,我想着,最好能够和杨晓峰老师的 Java 核心技术专栏形成互补,呈现给大家的内容相对更偏向于技术实现。
因此,有读者曾反馈讲解的知识点是否太偏,不实用。当时我的回答是,我并不希望将专栏单纯写成一本工具书,这样的知识你可以从市面上任意买到一本书获得。
我更希望的是,能够通过介绍 Java 虚拟机各个组件的设计和实现,让你之后遇到虚拟机相关的问题时,能够联想到具体的模块,甚至是对于其他语言的运行时,也可以举一反三相互对照。
不过,当我看到 Aleksey Shipilev介绍 JMH 的讲座时,发现大部分的内容专栏里都有涉及。于是心想,我还能够在上述答复中加一句:看老外的技术讲座再也不费劲了。
还有一个想说的是关于专栏知识点的正确性。我认为虚拟机的设计可以写一些自己的理解,但是具体到目前 HotSpot 的工程实现则是确定的。
为此,几乎每篇专栏我都会大量阅读 HotSpot 的源代码,和同事讨论实现背后的设计理念,在这个过程中,我也发现了一些 HotSpot 中的 Bug或者年久失修的代码又或者是设计不合理的地方。这大概也能够算作写专栏和我本职工作重叠的地方吧。
我会仔细斟酌文章中每一句是否可以做到达意。即便是这样,文章肯定还有很多不足,比如叙述不够清楚,内容存在误导等问题。许多读者都热心地指了出来,在此感谢各位的宝贵意见。接下来一段时间,我会根据大家的建议,对前面的文章进行修订。
专栏虽然到此已经结束了,但是并不代表你对 Java 虚拟机学习的停止, 我想,专栏的内容仅仅是为你打开了 JVM 学习的大门,里面的风景,还是需要你自己来探索。在文章的后面,我列出了一系列的 Java 虚拟机技术的相关博客和阅读资料,你仍然可以继续加餐。
你可以关注国内几位 Java 虚拟机大咖的微信公众号R 大,个人认为是中文圈子里最了解 Java 虚拟机设计实现的人,你可以关注他的知乎账号;你假笨,原阿里 Java 虚拟机团队成员现PerfMa CEO江南白衣唯品会资深架构师占小狼美团基础架构部技术专家杨晓峰前甲骨文首席工程师。
如果英文阅读没问题的话你可以关注Cliff Click、Aleksey Shipilëv他的JVM Anatomy Park十分有趣和Nitsan Wakart的博客。你也可以关注Java Virtual Machine Language Submit和Oracle Code One前身是 JavaOne 大会)中关于 Java 虚拟机的演讲,以便掌握 Java 的最新发展动向。
当然,如果对 GraalVM 感兴趣的话,你可以订阅我们团队的博客。我会在之后考虑将文章逐一进行翻译。
其他的阅读材料,你可以参考 R 大的这份书单,或者这个汇总贴。
如果这个专栏激发了你对 Java 虚拟机的学习热情,那么我建议你着手去阅读 HotSpot 源代码,并且回馈给 OpenJDK 开源社区。这种回馈并不一定是提交 patch也可以是 Bug report 或者改进建议等等。