乐趣区

关于java:垃圾回收器搭配和调优

因为 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

垃圾回收器搭配

退出移动版