在64位JVM上,执行 Object a = new Object(); 后,该Object实例在堆上占用多少字节?请说明由哪些部分组成。
考察说明
考察对Java对象内存布局的了解,包括对象头、对齐填充及JVM参数影响。
回答思路
- 能指出64位JVM中开启压缩指针(默认)时Object实例通常为16字节
- 能说明对象头(Mark Word 8字节 + Klass Pointer 4字节)与对齐填充(4字节)的构成
- 能区分未开启压缩指针或不同JVM参数下的差异(如24字节)
考察对Java对象内存布局的了解,包括对象头、对齐填充及JVM参数影响。