对象内存结构分为三部分:

  • 对象头
    hash码,对象所属的年代,对象锁,锁状态标志,偏向锁(线程)ID,偏向时间,数组长度(数组对象)等
  • 对象实际数据
    即创建对象时,对象中成员变量,方法等
  • 对齐填充
    保证对象的大小是8字节的整数倍
    Java对象内存结构
    MataData元数据指针——指向当前对象的Class对象
    HotSpot虚拟机对象头MarkWord 32 位
    Java对象内存结构
    Java对象内存结构
    可以在openJDK源码中markOop.hpp文件中会有32位、64位系统中对象头的详细说明

相关文章:

  • 2021-12-06
  • 2022-12-23
  • 2021-06-23
  • 2021-08-08
  • 2022-12-23
  • 2019-06-22
  • 2021-12-26
  • 2021-08-03
猜你喜欢
  • 2022-12-23
  • 2021-12-20
  • 2021-10-28
  • 2021-10-04
  • 2021-11-24
  • 2021-04-11
  • 2022-01-15
相关资源
相似解决方案