java 虚拟机浅析(三)Object的底层结构

本文深入探讨Java对象的底层结构,包括普通对象和数组对象的组成部分及大小。对象头中的锁定信息和GC标记也进行了简要说明。
摘要由CSDN通过智能技术生成

前言

本篇文章介绍java中的对象的底层存在形式,由哪些部分组成,每部分的大小等等。

java中有两种对象的底层结构,分别是普通对象数组对象

普通对象的底层结构

普通对象是由四部分组成的,如下表所示

组件 大小
对象头,hotspot中称为markword 8个字节
ClassPointer,指向类对象 大小取决于JVM配置,如果参数UseCompressedClassPointer 开启则为4个字节,不开启则为8个字节,默认为开启状态。
实例数据,就是成员变量 如果是基本数据类型,大小就是这个数据类型的大小,比如INT类型是4个字节。如果是引用数据类型,取决于JVM配置,如果参数UseCompressedOops开启则为4个字节,不开启是8个字节。默认为开启状态。
padding 部分 用于将整个对象大小补齐为8的倍数。

第二项中的类对象,就是这个类的Class对象,通过ClassName.class能得到这个对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值