new 对象的初始化过程 类加载(加载,解析,初始化)->分配内存(TLAB,空闲列表)-》加锁分配(cas或TLAB分配),初始化变量(对象头,实例变量,填充对齐)-〉init方法(构造方法)
运行时数据区域
前端编译-》class文件--〉后端编译(解释器/即时编译器)
计数器统计。 即时编译:栈上替换(循环代码),热点方法
优化手段:方法内联,栈上分配(不发生线程逃逸或不是外部方法返回的对象(虽然有方法逃逸),对象分配在栈里),标量替换(对象可拆分为标量,不发生逃逸)
类加载过程,双亲委派模型,破坏双亲委托:SPI(线程上下文类加载器)
三色标记:增量更新,STAB
卡表,Rset
ZGC