对象的创建
2023-01-30 15:17:40 0 举报
对象的创建和对象结构
作者其他创作
大纲/内容
将分配到的内存空间都初始化为零值(除了对象头)
初始化
执行init方法
Object 对象结构
将对象所占内存空间大小补齐为8的倍数个字节
对齐填充Padding
设置对象头
类加载检查
如果开启指针压缩,类型为对象引用的属性也会被压缩
为属性赋值和执行构造方法
为对象分配空间:从Java堆中划分出一块确定大小的内存划分内存方法:1.指针碰撞(默认) 2.空闲列表解决指针碰撞并发问题:1.CAS+失败重试 2.本地线程分配缓冲TLAB
是否已加载类
类加载器去加载类
1.font color=\"#ff0000\
设置对象头:Mrak Word标记字段、Klass pointer类型指针(指向类元数据)、数组长度(数组对象)
对象头 Header
否
分配内存
实例数据Instance Date
检查否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过
是
0 条评论
回复 删除
下一页