“-XX:+UseInterpreter”这个参数有什么作用?

What this parameter does "-XX:+UseInterpreter"?

我想知道这个参数是做什么的 -XX:+UseInterpreter, 我在互联网上做了一些研究,发现

Use interpreter for non-compiled methods

我只是不明白这个参数到底是做什么的,谁能给我解释一下吗?

-XX:+UseInterpreter默认开启,所以这个选项什么都不做。

如果您通过-XX:-UseInterpreter将其关闭,每次调用新方法时,都会将其添加到编译队列中。仅此选项几乎没有用。但是,它作为 -Xcomp 标志的一部分,基本上是

的快捷方式
-XX:-UseInterpreter
-XX:-BackgroundCompilation
-XX:-ClipInlining
-XX:Tier3InvokeNotifyFreqLog=0
-XX:Tier4InvocationThreshold=0

在这种情况下,JVM 不会 运行 Java 解释器中的方法,即方法将在使用前被强制 JIT 编译。