首页 > 解决方案 > 带有 JIT 的 JRE 是否比带有普通 Java 解释器的 JRE 快得多?

问题描述

最近我将我的 linux 机器中的 JRE 从 1.7 +JIT 升级到没有 JIT 的 1.8,并注意到性能有很大的下降,即时编译 JVM 是否比带有解释器的 JVM 快得多?谢谢,

标签: javacompilationjvmjdk1.7

解决方案


JIT 的全部目的是加速代码执行。

要记住的主要事情:JIT 增加了一个“热身”阶段。JVM 必须花时间分析您的代码在做什么,然后决定将哪些部分编译为机器代码。当然,这个编译步骤也需要很多时间。但是一旦一个方法被编译成机器代码,它当然会快几个数量级。

但请注意:我注意到性能的巨大下降几乎是毫无意义的说法。性能仅在给定上下文的情况下才有意义。含义:工作负载的上下文(你在运行什么)和实际的、真实的数字。


推荐阅读