对于下面给出的代码,我看到了很多GC活动。根据我的理解,这是适合EA的方案。为什么EA无效? DummyObject内部没有任何分配。使用的JVM选项:-server,-verbosegc。
static void anayzeEA()
{
for(int i = 0 ; i < 100000000; i++) {
DummyObject obj = new DummyObject();
if(obj.hashCode() == 97787) { //to prevent the obj being optimized
System.out.println(obj.hashCode());
}
}
}
最佳答案
请参阅相关的Q&A here,它建议您下载调试JDK并使用命令行选项:
-XX:+ UnlockDiagnosticVMOptions -XX:+ PrintEscapeAnalysis -XX:+ PrintEliminateAllocations
在事件发生时打印出逃生分析事件。
关于java - Java 7转义分析不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11239028/