吞吐量优先和并发收集

所在项目常用的垃圾回收器有两种:
1.Parallel Scavenge + Parallel Old;(又称吞吐量优先,适合做后台的运算)
2.CMS;(又称并发标记清除,能降低停顿的时间,适合做前台交互,以提供更快的相应)

Parallel Scavenge :年轻代回收器,复制算法,并行多线程收集,可以使用+UseAdaptiveSizePolicy开启自适应策略,让垃圾回收器自己调整回收。
Parallel Old:标记整理算法,吞吐量优先,GC线程与用户线程互斥执行。
CMS:标记清除算法,四个步骤:初始标记、并发标记、重新标记、并发清除,其中初始标记与重新标记需要stop the world,而并发标记和并发清除和用户线程一起执行。
缺点:产生内存碎片,所以需要在每次fullGC后进行整理,可以调整每几次fullGC后进行整理;
产生浮动垃圾(并发清除产生的垃圾达到一定比例后,需要做一次fullGC);
占用大量用户线程,降低了吞吐量;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容