csworkman

个人博客

对象内存布局

2022-6-16 Mr Chang JUC

整体结构包括三部分:
  1. 对象头部 ———— 只有一个对象头的实例对象 只有16字节
    对象标记  _mark 字段是mark word 
    类型指针 _metadata  字段是 klass pointer 
    对象头(object header)即是由这两个字段组成
    这些术语可以参考Hotspot术语表

  2. 实例数据
  3. 对齐填充


尾巴参数说明————压缩指针相关说明命令
  1. java -XX: +PrintCommandLineFlags -version
  2. 默认开启压缩指针,-XX: +UseCompressedClassPointers
     12 + 4 (对齐填充) = 一个对象16字节
  3. 手动配置,关闭了压缩指针 -XX: -UseCompressedClassPointers,
    8+8 = 一个对象16字节

发表评论: