我想知道如何检查JIT编译器是否已关闭。我有以下代码旨在关闭JIT编译器。问题是,我不确定它是否确实在这样做。所以我想知道是否有一种方法可以检查JIT是否关闭。我看了Compiler类,但没有类似的方法isDisabled/enabled()
。
码:
Compiler.disable();
任何帮助或指导将不胜感激。
我不相信您可以在运行时关闭JIT。
如果要认真地对Java程序进行基准测试,则绝对应该忽略前几次运行。在Java中获得可靠的基准测试是一项 非常棘手的工作 ,最好由比您本人聪明的人来做。
我建议使用Caliper,它在Google内部用于进行微基准测试,并且对于预热JIT和其他东西非常聪明。特别地,请看这里的示例,该示例显示了如何针对不同的输入大小来测量算法的效率。
问题内容: 截至2010年10月,GNU的Java编译器是否已失效?是否有任何有效的替代方法(特别是用于将Java编译为本地代码)? LLVM解决方案将是首选。 问题答案: 您可以使用IKVM和Mono的提前编译器生成本机代码。 编辑 此页面底部有一个示例。
主要内容:JIT编译器语法,JIT编译器的风险和假设JIT 编译器是用 C++ 编写的,用于将 Java 转换为字节码。现在 Java 10 可以选择启用基于 Java 的实验性 JIT 编译器 Graal 来代替标准的 JIT 编译器。Graal 正在使用 Java 9 中引入的 JVMCI,即 JVM 编译器接口。 Graal 在 Java 9 中也可用。使用 Java 10,我们可以启用 Graal 来测试和调试实验性 JVM 编译器。 JI
问题内容: 有什么方法可以查看JIT在JVM中生成的本机代码吗? 问题答案: 假设你使用的是Sun Hotspot JVM(即Oracle 在java.com上提供的JVM ),则可以添加该标志 在运行代码时。这将打印出由JIT编译器生成的优化代码,而将其余部分省去。 如果要查看整个字节码,包括未优化的部分,请添加
我试图理解Java源代码是如何执行的,我对JVM中的JIT编译器究竟是什么感到困惑。首先,让我告诉您我是如何理解从Java源代码到在计算机上执行机器代码的过程的。也许,我在这一过程中误解了一些导致混淆的东西。 步骤如下: 源代码被编译成字节码(.class文件) 现在,根据维基百科关于JVM的文章,更具体地说是“字节码解释器和实时编译器”部分,为了执行Java字节码,您需要一个解释器(但我们有一个
问题内容: 为什么没有java.util.Timer对象的方法? 如果计时器尚未取消,我想安排一个任务,如果取消了计时器,请直接运行它(在同一线程上)。 如果计时器已被取消,捕获该错误的唯一选择是吗?(赶上感觉不对)。 问题答案: 您如何确定要使用?改为使用,它具有很多其他好处,也可以启动。从Java 5开始,一般建议是将s 替换为s。 有一个专门用于计划执行程序服务的界面。使用其中一种方法实例化