赞
踩
原文网址:JVM垃圾回收--垃圾回收器--CMS和G1的区别和执行流程_IT利刃出鞘的博客-CSDN博客
本文介绍CMS和G1的垃圾回收流程以及他们的区别。
项 | CMS(Concurrent Mark Sweep) | G1(Garbage-First) |
目的 | 减少回收停顿时间(牺牲吞吐量)。 | 减少长停顿的次数、增加吞吐量。 为了替代CMS(JDK11默认使用G1)。 |
回收的代 | 回收老年代 | 回收新生代和老年代 |
算法 | 标记-清除 | 从整体来看是“标记-整理”算法; 从局部上来看“复制”算法 |
内存碎片 | 会产生内存碎片 | 不会产生内存碎片 |
过程 | 初始标记=> 并发标记=> 重新标记=> 并发清理 | 初始标记=> 并发标记=> 重新标记=> 并行清理 |
使用场景 | 服务器资源较少(处理器少、内存小)。 | 服务器资源较多(多核处理器、大内存。) |
CMS 在小内存应用上的表现要优于 G1,而大内存应用上 G1 更有优势,大小内存的界限是6GB到8GB。
说明
CMS是老年代并发GC算法:(ConcurrentMark-SweepGC、CMS GC)。
算法总体逻辑:标记-清除(Mark-Sweep)
上边是文章的部分内容,为便于维护,全文已迁移到此网址:JVM—CMS和G1垃圾回收器的区别和执行流程 - 自学精灵
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。