java-对象初始化流程

1. 类的加载

2. 对象内存分配

  指针碰撞

  空闲列表

3. 处理并发安全问题

  cas/锁

  TLAB 线程的分配空间在堆内存中隔离开,在堆中为每个线程预先分配一小块不同的空间,每个线程创建对象都在自己对应的空间中完成。

4. 属性默认初始化

5. 设置对象头 

  类信息 锁信息 hashcode GC信息

6. 显示初始化

  构造器 代码块初始化 

  

posted @ 2021-07-14 16:07  rudynan  阅读(35)  评论(0编辑  收藏  举报