- G1收集器
- 类生命周期
加载 -> 连接(验证 + 初始化) + 使用 + 销毁 - 对象分配Eden->S1->S2->Old何时进入
新建对象放置在eden
若是eden空间不足,促发一次minor gc,移位到s1,逐步移位到s2,old(年龄计数)
如果是一个大对象(大量连续内存空间),直接进入old(减少s1->s2等不必要的拷贝)
如果s区相同年龄大于一半对象,进入old
如果s进入old的数量超过old的剩余数量,full gc(这时候有一个担保失败概念70%,为true只会进行minor gc) - 双亲委派模式
- 类的加载
将.class装入method area作为Class对象,并且将静态存储结构放置在Method area - 解释器,JIT和C1/C2编译器
- 分段锁和互斥锁
- Client Model和Server Model
- Client Model 客户端模式使用的是C1编译器,更注重的是速度,启动块
- Server Model 服务端模式采用的书C2编译器,更注重编译的质量,启动较慢
网友评论