因为Java11中ZGC的呈现,尽量不要对GC调优的钻研下太多功夫,对将来来说,这是升值的。

新生代的垃圾回收器

收集器算法收集器类型阐明实用场景
Serial复制算法单线程进行垃圾回收时,须暂停所有工作线程,晓得回收实现简略高效,适宜内存不大的状况
ParNew复制算法多线程并行它是Serial收集器的多线程版本搭配CMS的首选
Parallel Scavenge(吞吐量优先收集器)复制算法多线程并行相似ParNew,更加关注吞吐量次要适宜后盾运算不须要太多交互的工作

老年代的垃圾回收器

收集器算法收集器类型阐明实用场景
Serial Old标记整顿单线程JDK7/8默认的Client模式下虚拟机实用
Parallel Old标记整顿多线程并行Parallel Scavenge的老年代版本在重视吞吐量场景下应用
CMS标记革除并行、并发尽可能缩短GC时用户线程进行的工夫,毛病:1、容易有内存碎片 2、须要更多的cpu资源 3、产生浮动垃圾,须要更大的堆空间器重服务的相应速度
G1跨代、标记整顿并行、并发JDK7正式引入,采纳分区回收的思维,根本不就义吞吐量的前提下,低进展内存回收,可预测的进展是其最大的劣势面向服务端利用的垃圾回收器,指标是取代CMS

垃圾回收器搭配