关于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

垃圾回收器搭配

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理