gpt4 book ai didi

java - java中的对象头和填充是什么

转载 作者:行者123 更新时间:2023-12-01 18:14:05 24 4
gpt4 key购买 nike

谁能让我理解java中的术语“对象头”和“填充”?

class A{

int a;

}

这里的“对象头”和“填充”是什么?

最佳答案

“Padding”是Java中对象由于内存对齐而趋向于8的倍数的趋势:Why do Java objects have to be a multiple of 8?

Java中的所有对象都包含一个“对象头”,其中包含一些额外的开销信息(导致它们占用一些额外的空间):What is in java object header

因此,在您的示例中,class A 的 header 会占用空间,以及保存其字段 int a 所需的空间。如果这两个值之和不是 8 的倍数,则会向内存位置添加额外的空间,使其成为 8 的倍数,从而在内存中正确对齐。

关于java - java中的对象头和填充是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30787814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com