JVM(九)JAVA对象内存布局
1.对象头用于存储对象 的元数据信息:

  • Mark Word部分数据的长度在32位和64位机器(未开启压缩指针)中分别为32bit和64bit,存储对象自身的运行时数据如哈希值等。Mark Word一般被设计为非固定的数据结构,以便存储更多的数据信息和复用自己的存储空间。
  • 类型指针 指向它的类元数据的指针,用于判断对象属于哪个类的实例。

2.实例数据存储的是真正有效的数据,如各种字段内容,各字段的分配策略为longs/doubles、ints、shorts/chars、bytes/boolean、oops(ordinary object pointers),相同宽度的字段总是被分配到一起,便于之后取数据。父类定义的变量会出现在子类定义变量的前面。

3.对其填充部分仅起到占位符的作用;对齐填充,保证实例数据为8的倍数;

相关文章:

  • 2021-04-18
  • 2021-10-15
  • 2022-01-09
  • 2022-12-23
  • 2021-04-11
  • 2021-10-12
猜你喜欢
  • 2021-10-10
  • 2021-05-06
  • 2022-01-19
  • 2022-12-23
  • 2021-08-20
  • 2021-07-12
  • 2021-09-18
相关资源
相似解决方案