JVM是否有运行时分支预测?如果是这样,Java代码中是否有提示分支结果的方法?

6 java jvm

正如标题所说:

我记得在一些C编译器(例如GCC)中,我们能够向编译器提供有关可能的分支预测结果的提示.JVM有这样的功能吗?

谢谢!

Nei*_*fey 6

除非有一些新的注释逃过了我的视线,否则不会。

另一方面,尚不清楚这样的功能会有多好用。请记住,与 C/C++ 之类的语言不同,源代码级别的“预测”不一定是最佳策略,因为代码在实际运行时实际在做什么并不是一个谜:JVM可以潜在地监视关键行为,并在必要时根据其测量重新编译代码段。

  • 为了加强 Neil 的回答:大多数现代 JVM 肯定会监控分支行为,并尝试以正确的方式设置分支,以便 CPU 更轻松地进行预测。 (2认同)