我一直在使用Eclipse内存分析工具来检查堆转储.我还没有看到任何一个对象通过线程堆栈中的局部变量保持活动的情况.
堆转储中是否保留了java线程堆栈?如果没有,这些对象是否被计为转储中无法访问的对象?如果是这样,有没有办法保留线程堆栈,以便可以将未收集的垃圾与局部变量值区分开来?
除了堆转储之外java 6还生成线程转储(java_pid14941.hprof)
这是我的一个应用程序发生的事情.
java.lang.OutOfMemoryError:超出GC开销限制将堆转储到java_pid14941.hprof ...
我确实在工作目录中找到了ava_pid14941.hprof,但没有找到任何包含线程转储的文件.当我得到这个OutOfMemory错误时,我需要知道所有线程正在做什么.
是否有任何配置选项除了内存异常外的堆转储外还会产生线程转储?