Jvm 有没有办法关闭JIT编译器?这样做是否会影响性能?
JIT对java程序意味着什么?它会使执行速度更快吗?还是有字节码不是JIT的?有两种方法可以禁用JITJvm 有没有办法关闭JIT编译器?这样做是否会影响性能?,jvm,interpreter,bytecode,compiler-optimization,jit,Jvm,Interpreter,Bytecode,Compiler Optimization,Jit,JIT对java程序意味着什么?它会使执行速度更快吗?还是有字节码不是JIT的?有两种方法可以禁用JIT -Djava.compiler=NONE 或者这几乎不会编译任何东西 -XX:CompileThreshold=2000000000 或者在IBMJVM上 -nojit 禁用JIT会大大降低代码的速度,例如50倍,但并非总是如此。如果您将大部分时间花在IO或GUI更新上,您可能会发现这没什么区别。对于IBM来说,正确的选项是-Xnojit或-Xint 以仅解释模式运行应用程序。编译本
-Djava.compiler=NONE
或者这几乎不会编译任何东西
-XX:CompileThreshold=2000000000
或者在IBMJVM上
-nojit
禁用JIT会大大降低代码的速度,例如50倍,但并非总是如此。如果您将大部分时间花在IO或GUI更新上,您可能会发现这没什么区别。对于IBM来说,正确的选项是-Xnojit或-Xint 以仅解释模式运行应用程序。编译本机代码被禁用,所有字节码都由解释器执行
在Java9之前,类知道
java.compiler
系统属性。在HotSpot VM中,它被标记为@Deprecated
,可以使用跳过编译器线程初始化的选项禁用JIT编译
这是真实的:
我正在学习java,对大部分内容都有很多疑问……谢谢你的回答。:)此外,我想知道当我们禁用JIT时,编译器将扮演什么角色?@CoDerus禁用JIT意味着没有编译器。相反,代码只在解释器模式下运行。这并不能提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论。-当我写下他的答案时,我被禁止发表评论。否则,我会的。
-Xint
product(bool, UseCompiler, true,
"Use Just-In-Time compilation")