今天看啥  ›  专栏  ›  小鹿学Java

面试:new Object()到底占用几个字节?

小鹿学Java  · 公众号  · 互联网安全  · 2025-08-03 14:30
    

主要观点总结

本文介绍了Java对象在内存中的布局,包括对象头、实例数据和对齐填充等部分。文章还详细解释了Java对象的指向,包括句柄访问和直接指针访问。此外,还讨论了堆内存中的对象分布,如Young区和Old区,以及对象在垃圾回收中的行为。最后,文章对一些相关名词进行了澄清和解释。

关键观点总结

关键观点1: Java对象在内存中的布局

包括对象头、实例数据和对齐填充等部分。对象头中的Mark Word存储了对象的分代年龄等信息。

关键观点2: Java对象的指向

包括句柄访问和直接指针访问两种方式。句柄访问会在堆内划分出一块内存存储句柄池,而直接指针访问则直接在对象中存储对象类型数据。

关键观点3: 堆内存中的对象分布

对象根据分代年龄分配到Young区或Old区。Young区又分为Eden区和Survivor区,对象在Eden区和Survivor区之间迁移,达到一定分代年龄后进入Old区。

关键观点4: 垃圾回收和Full GC

当Young区的对象达到设置的分代年龄或Old区空间不足时,会触发Full GC。Full GC是新生代和老年代同时发生GC的过程。


免责声明

免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。 原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过 【版权申诉通道】联系我们处理。

原文地址:访问原文地址
总结与预览地址:访问总结与预览
推荐产品:   推荐产品
文章地址: 访问文章快照