


官方文档地址:
![]()












final类型的常量:声明为final类型的常量在编译的时候就被赋值了。
静态变量:在prepare时候对静态变量默认初始化(int为0)在Initialzation阶段再具体赋值。





对象的内存结构:
对象头、实例数据、空白填充
对象头包含两部分:
运行时元数据(哈希值,GC年龄分代,线程持有的锁,锁状态标志,偏向线程ID,偏向时间戳)
类型指针(指向方法区的具体类型信息)


对象的创建过程:
判断是否进行过 加载,链接,初始化
为对象分配内存空间
处理并发问题
初始化分配的内存空间
设置对象头
执行init方法进行初始化

本文深入探讨Java中对象的内存结构,包括对象头、实例数据、空白填充等组成部分,以及对象头中运行时元数据和类型指针的详细信息。同时,解析对象创建过程中的关键步骤,如加载、分配内存、初始化等。
9万+

被折叠的 条评论
为什么被折叠?



