我需要做一些实验,显示内联对我的代码的影响。有谁知道如何禁用sun jvm内联?我搜索了http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html并且知道-XX:InlineSmallCode = n可以控制内联候选者的阈值。那么-xx:InlineSmallCode = 0可以吗?
答案 0 :(得分:5)
我会尝试-XX:MaxInlineSize=0
。 InlineSmallCode
的描述似乎有点不清楚它是否适用于所有内联。您可能还会发现此博客文章很有帮助,因为它解释了如何告诉JIT编译器打印有关内联方法的信息:
Java 7: How to write really fast Java code
我认为可能仍然存在一个例外,你无法禁用内联,而且这是完全空的方法(因为内联方法的大小仍然是0)。
答案 1 :(得分:1)
在 Java 8 中,您可以通过将选项 -XX:-Inline
传递给 JVM 来实现。