串行收集器
Serial/Serial Old
- 新生代使用
复制算法,老年代使用标记整理算法 - 在单cpu场景下,可能更搞笑,默认的Client模式下的新生代收集器
命令行参数:-XX:+UseSerialGC
并行收集器
ParNew(并行)收集器:使用多线程进行垃圾回收,在垃圾收集时,会Stop-the-World,固定和CMS使用
新生代 Parallel Scavenge收集器
- -XX:MaxGCPauseMillis(GC最大停顿时间)
这个参数如果设置得太小,就会频繁GC
CMS收集器
初始标记并发标记重新标记并发清除缺点 :- 浮动垃圾
- 内存碎片
命令行
- -XX:UserConcMarkSweepGC
- -XX: CMSInitiatingOccupancyFraction (68% jdk9+ 80%)
G1 收集器
初始标记并发标记重新标记筛选回收