我想了解JVM的工作原理,并且我一直在阅读博客文章和文档。但是,事情很混乱,而且经常过时。我知道随着越来越多的方法被调用(取决于编译器,调用阈值为10k或15k),JVM JIT将它们编译为本地代码并维护代码缓存。我有兴趣浏览正在做出这些决定的实际源代码。
This帖子解释得很好。但是,我使用的是OpenJDK11,源代码的结构似乎已更改。分层编译使事情变得更加复杂。是否有有关OpenJDK源代码的详细文档?还是我必须一个一个地浏览源文件?
答案 0 :(得分:1)
Searching the JDK's mercurial repository揭示了AdvancedThresholdPolicy已作为5201c9474ee7的一部分在提交8202711中合并到SimpleThresholdPolicy中,现在可以在src/hotspot/share/runtime/simpleThresholdPolicy.cpp中找到。