java对象内部都有哪些东西

普通对象

  1. 对象头 markword 占8字节
  2. ClassPointer 指针 :-XX +userCompressedClassPointrs 为4字节,不开启为 8字节
  3. 实例数据
    引用类型: -XX +userCommpressedOops 为4字节,不开启8字节
  4. Padding对齐, 8的倍数

java对象内部都有哪些东西_第1张图片

数组对象

  1. 对象头:markword 8
  2. classpointer 指针同上
  3. 数组长度 : 4字节
  4. 数组数据
  5. 对齐,8 的倍数
    java对象内部都有哪些东西_第2张图片

markword 64位 结构

java对象内部都有哪些东西_第3张图片

你可能感兴趣的:(java)