Java对象是怎么在虚拟机中存储的?

Java对象在虚拟机中主要由对象头、对象实例和对齐填充三部分组成。

1.对象头中包含了对象的元信息和运行时数据。

对象头主要由Mark Word、类型指针和数组长度三部分组成。

其中,数组长度只有数组才有;

Mark Word主要用于存储运行时数据,会根据对象的状态动态变化;

类型指针指向对象对应的类的元数据,用于确定该对象的类型。

2.对象实例存储的是对象的实际数据,也就是类的字段。

3.为了满足内存一般情况下的8字节对齐要求,JVM可能会在对象的末尾添加填充字节。

至于存储位置,大多数的对象分配在中,堆也是JVM管理的内存中最大的一块区域。

相关推荐
坚持学习前端日记1 天前
Android JS桥技术深度解析
android·开发语言·javascript
兮动人1 天前
打破 OS 壁垒:Java 跨平台硬件信息采集的“终极方案”
java·开发语言
一路往蓝-Anbo1 天前
STM32单线串口通讯实战(一):物理层拓扑与STM32G0硬件配置
c语言·开发语言·stm32·单片机·嵌入式硬件·物联网
weixin_307779131 天前
MATLAB动态演示流体扩散仿真模拟的简单例子
开发语言·matlab
json{shen:"jing"}1 天前
07_表单输入绑定
java·前端·javascript
zhaokuner1 天前
12-深层模型与重构-DDD领域驱动设计
java·开发语言·设计模式·架构
weixin_440730501 天前
java面向对象OPP-三大特性
java·开发语言·python
蕨蕨学AI1 天前
【Wolfram语言】37 布局与显示
开发语言·wolfram
No芒柠Exception1 天前
Spring Boot 实现分片上传、断点续传与进度条
java·后端