我有一个Hotspot JVM堆转储,我试图找出一个对象是存在于保留权空间、eden空间还是survivor空间中,但我做不到。
如果有人能帮助我,我将不胜感激。
发布于 2011-12-20 14:21:58
我觉得你做不到。来自this论坛的帖子,
抱歉,坏消息,堆转储既不包含有关对象所在空间的信息
查看来自该page的java堆转储的内容似乎确认堆转储不包含生成信息,
HEAP DUMP BEGIN (39793 objects, 2628264 bytes) Wed Oct 4 13:54:03 2006
ROOT 50000114 (kind=<thread>, id=200002, trace=300000)
ROOT 50000006 (kind=<JNI global ref>, id=8, trace=300000)
ROOT 50008c6f (kind=<Java stack>, thread=200000, frame=5)
:
CLS 50000006 (name=java.lang.annotation.Annotation, trace=300000)
loader 90000001
OBJ 50000114 (sz=96, trace=300001, class=java.lang.Thread@50000106)
name 50000116
group 50008c6c
contextClassLoader 50008c53
inheritedAccessControlContext 50008c79
blockerLock 50000115
OBJ 50008c6c (sz=48, trace=300000, class=java.lang.ThreadGroup@50000068)
name 50008c7d
threads 50008c7c
groups 50008c7b
ARR 50008c6f (sz=16, trace=300000, nelems=1,
elem type=java.lang.String[]@5000008e)
[0] 500007a5
CLS 5000008e (name=java.lang.String[], trace=300000)
super 50000012
loader 90000001https://stackoverflow.com/questions/8571145
复制相似问题