JMap/JHat hex values

Max Grossman max.grossman at oracle.com
Fri Jun 22 13:10:21 PDT 2012


Hi all,

I'm curious if anyone can tell me about the hex values displayed on a jhat-generated page from a heap dump using jmap? I get a heap dump using:

jmap -heap:format=b pid

and then process it using jhat:

jhat heap.bin

and on some of the class pages generated by jhat, you'll get listings like:

References to this object:

LongObj at 0x7d5e4d7f0 (80 bytes) : ??
LongObj at 0x7d5e4d7a0 (80 bytes) : ??
LongObj at 0x7d5e4d840 (80 bytes) : ??
LongObj at 0x7d5e4d610 (80 bytes) : ??
LongObj at 0x7d5e4d700 (80 bytes) : ??
LongObj at 0x7d5e4d750 (80 bytes) : ??
LongObj at 0x7d5e4d890 (80 bytes) : ??
LongObj at 0x7d5e4d5c0 (80 bytes) : ??
[Ljava.lang.Object;@0x7d5e403d8 (96 bytes) : Element 1 of [Ljava.lang.Object;@0x7d5e403d8
LongObj at 0x7d5e4d6b0 (80 bytes) : ??
LongObj at 0x7d5e4d660 (80 bytes) : ??

where each of those lines represents a different object in the heap. Are those hex values virtual addresses of the actual object (or possibly related to virtual addresses?). It seems like there must be some mapping as those are 10 objects allocated in close temporal proximity in the application, and those hex values are each separated by 80 bytes (the object size), but I'm curious if I can rely on that in any way or if this is just a lucky coincidence for this one micro-application (code attached) I made purely for testing this behavior. If so, that would be great!

Thanks for any help,

Max Grossman
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TestHeap.java
Type: application/octet-stream
Size: 364 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20120622/6c26f03b/TestHeap.java 


More information about the serviceability-dev mailing list