官方文档地址:
final类型的常量:声明为final类型的常量在编译的时候就被赋值了。
静态变量:在prepare时候对静态变量默认初始化(int为0)在Initialzation阶段再具体赋值。
对象的内存结构:
对象头、实例数据、空白填充
对象头包含两部分:
运行时元数据(哈希值,GC年龄分代,线程持有的锁,锁状态标志,偏向线程ID,偏向时间戳)
类型指针(指向方法区的具体类型信息)
对象的创建过程:
判断是否进行过 加载,链接,初始化
为对象分配内存空间
处理并发问题
初始化分配的内存空间
设置对象头
执行init方法进行初始化