JVM–基础–19.1–垃圾收集器–Seiral,Serial Old,ParNew
1、结构图
2、Seiral 收集器
- 单线程,没有线程交互开销,简单高效
- 在垃圾回收时,必须暂停其他所有线程的工作线程,即所谓的"Stop The World"
- jvm在Client模式下,默认的新生代收集器是Serial收集器
- 使用方法:-XX:+UseSerialGC
- 适用:运行在Client模式下的虚拟机。
3、Serial Old 收集器
- 单线程,没有线程交互开销,简单高效
- 使用标记整理算法
- 适用:运行在Client模式下的虚拟机。
- Server模式下用途:当老年代使用CMS收集器出现故障时(Concurrent Mode Failure),可以作为CMS的后备选择
4、ParNew 收集器
- 本质是Serial的多线程版本
- 控制参数和Serial参数一样。
- 是CMS收集器的默认新生代收集器
- 在多CPU的环境下可以发挥更高而效率,并且是唯一一个可以和CMS收集器搭配工作的新生代并行GC。
- 单CPU的环境下效率低于Serial
- 适用:运行在server模式下的虚拟机首选的新生代收集器。
- 使用方法:-XX:+UseParNewGC