Java教程

填坑:Java对象头

本文主要是介绍填坑:Java对象头,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

https://upload-images.jianshu.io/upload_images/2062729-9a78f7ea7671a031.png
1.实例数据:存放类的属性数据信息,包括父类的属性信息;
2.对齐填充:由于虚拟机要求 对象起始地址必须是8字节的整数倍。填充数据不是必须存在的,仅仅是为了字节对齐;
3.对象头:Java对象头一般占有2个机器码(在32位虚拟机中,1个机器码等于4字节,也就是32bit,在64位虚拟机中,1个机器码是8个字节,也就是64bit),但是 如果对象是数组类型,则需要3个机器码,因为JVM虚拟机可以通过Java对象的元数据信息确定Java对象的大小,但是无法从数组的元数据来确认数组的大小,所以用一块来记录数组长度。
https://upload-images.jianshu.io/upload_images/2184951-058c47ce1215e691.png?imageMogr2/auto-orient/strip|imageView2/2/w/834/format/webp

这篇关于填坑:Java对象头的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!