Understanding memory layouts.

sudhakar govindavajhala sudhakarg79spam at gmail.com
Wed Apr 4 14:35:49 PDT 2012


Hello all,

I am asking somewhat open ended questions. Any ideas or comments are welcome.

I am interested in understanding memory layouts of objects in Hotspot.
What is appropriate piece of code to look at? Can you please point me
to documentation or right mailing lists? Where is the type header
stored?  Is the offset of a field from type-header always fixed? Where
are static fields stored? I appreciate that objects move around due to
GC.  I am just interested in  a deeper dive into JVM internals, and
understand how it works.

How do the object layouts vary across JVM versions?  Would 1.6 and 1.7
runtimes implement the same object with different layouts?  How does
this vary within 1.6?  Is it different for 1.6.1 compared to 1.6.23?
If you fix JVM version, how does it vary between different OS (Windows
and Linux)?

Thanks in advance,
Sudhakar


More information about the hotspot-runtime-dev mailing list