1. 类的加载
2. 对象内存分配
指针碰撞
空闲列表
3. 处理并发安全问题
cas/锁
TLAB 线程的分配空间在堆内存中隔离开,在堆中为每个线程预先分配一小块不同的空间,每个线程创建对象都在自己对应的空间中完成。
4. 属性默认初始化
5. 设置对象头
类信息 锁信息 hashcode GC信息
6. 显示初始化
构造器 代码块初始化