JAVA那些事--实例内存大小

一个Java实例在内存中究竟占据多大的内存?

  1. 实例的内存分为三个部分:对象头+实例数据+padding,其中HotSpot的对齐方式为8字节对齐,padding部分的计算公式为
    (对象头 + 实例数据 + padding) % 8等于0且0 <= padding < 8
  2. 实例的内存大小受到JVM参数UseCompressedOops的影响
  • 普通实例的对象头大小:如果开启压缩,则对象头占据12个字节,否则占据16个字节
  • 引用数据类型:如果开启压缩,则占据4个字节,否则占据8个字节
  • 数组实例:如果开启压缩,则其对象头占据16个字节,否则占据24个字节

最后,参考http://www.cnblogs.com/magialmoon/p/3757767.html上的实例来理解下

你可能感兴趣的:(JAVA那些事--实例内存大小)