Java程序JIT的意义是什么,它是否使执行速度更快或者是否存在不是JIT的字节码?
答案 0 :(得分:14)
有两种方法可以禁用JIT
-Djava.compiler=NONE
或者这几乎不会编译任何东西
-XX:CompileThreshold=2000000000
或在IBM JVM上
-nojit
禁用JIT可能会大大减慢您的代码速度,例如50倍但并非总是如此。如果您花费大部分时间进行IO或GUI更新,您可能会发现它没什么区别。
答案 1 :(得分:1)
对于IBM,正确的选项是-Xnojit或-Xint
答案 2 :(得分:1)
从doc,
-Xint
以仅解释模式运行应用程序。禁止对本机代码进行编译,并且所有字节码均由解释器执行。
在Java 9之前,Compiler类已经知道java.compiler
系统属性。在Java 9中,它被标记为@Deprecated
。
答案 3 :(得分:0)
在HotSpot VM中,可以使用选项-XX:-UseCompiler
禁用JIT编译,该选项将跳过编译器线程初始化。
它是true
by default:
product(bool, UseCompiler, true,
"Use Just-In-Time compilation")