标题很好地抓住了我的问题。我想知道对于 JVM(不仅仅是 HotSpot,但这显然是开始的地方)如何实现或处理特定功能的问题是否有很好的资源或跳跃点?我不是在寻找JLS或JVM Spec中的东西——我知道先去那里。
例如:当试图理解性能问题时,我们经常讨论的不是规范所说的,而是当代最佳实践在实际实现中的样子。例如,有一些都市神话说“final 类在 Java 中表现更好,因为 JVM 可以内联或以其他方式优化这些东西”。是否有我们可以求助的通用资源来评估这些漂浮的主张?
我通过特定于 HotSpot 的参考资料来回答我自己的问题。其他供应商的产品呢?小型 JVM 的细节?多核细节?平台细节,如果他们有所作为?其他 JVM 语言的细节?
只是为了避免一些潜在的抱怨:1)这不是寻找过早的优化(事实上,更好地了解平台应该会阻止受过良好教育的开发人员!);2) 我知道 Java 程序员应该专注于漂亮的、可移植的、随处运行的代码,但对我们中的许多人来说,平台细节最终很重要!
这是受到Thorbjørn Ravn Andersen对特定问题的一些有用评论的启发。除了我上面引用的例子之外,我很高兴收集其他一些更有帮助的例子,以激发人们为什么想要这些资源。
关于 SO 的一些有趣的相关问题:JVM 中的尾调用优化、Killer JVM 特性、明天将无用的优化、 JVM实现之间的差异。
编辑添加: 我将把答案奖励给提到的最佳个人参考,或者提供指向一个网站(可能是为了响应这个问题而构建)的指针的人,该网站最能集中/分类 JVM 实现智慧和实际后果客户端语言和开发人员。