常见的GC
| 年轻代 | 老年代 | 说明 |
|---|---|---|
| Serial | Serial Old | 单线程 |
| ParNew | CMS | 低延迟(已淘汰) |
| Parallel | Parallel Old | 高吞吐 |
| G1 | G1 | 默认推荐 |
| ZGC | ZGC | 极低延迟 |
G1和ZGC有啥区别?
G1 GC在JDK7u4引入,JDK9成为默认垃圾收集器;
ZGC 在JDK11引入,最初是实验性的,JDK15 正式转为生产可用
G1部分 STW + Region 回收
ZGC:全程并发压缩,停顿 < 10ms
回收算法的区别?
| G1 | ZGC | |
|---|---|---|
| 算法 | 标记 + 复制 | 并发标记 + 并发压缩 |
| 内存压缩 | STW + 部分并发 | 全程并发 |
| Full GC | 可能发生 | 几乎不存在 |