对于下面给出的代码,我看到了很多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/

10-10 22:58