JVM虚拟机:垃圾回收器之CMS(老年代)

编程入门 行业动态 更新时间:2024-10-27 16:32:00

JVM<a href=https://www.elefans.com/category/jswz/34/1770279.html style=虚拟机:垃圾回收器之CMS(老年代)"/>

JVM虚拟机:垃圾回收器之CMS(老年代)

本文重点

在前面的课程中我们学习了Serial和PO垃圾回收器,本文将学习一种新的在老年代使用的垃圾回收器CMS。

特点

CMS收集器是一种以获取最短回收停顿时间为目标的收集器(还是会有短暂的STW),适合互联网或者B/S系统的服务器上,这类应用尤其重视服务器的响应速度,希望系统停顿时间最短。CMS非常适合堆内存大、CPU核数多的服务器端应用,也是G1出现之前大型应用的首选收集器。

运行过程

如图所示,它会经历四个过程:

  • 初始标记(CMS initial mark),会有短暂的停顿,标记GC Roots直接关联的对象
  • 并发标记(CMS concurrent mark)和用户线程一起,标记全部对象(最耗时)
  • 重新标记(CMS remark),会有短暂的停顿,这个过程会修正由于用户程序继续运行而导致标记产生变动的那一部分对象的标记记录
  • 并发清除(CMS concurrent sweep)和用户线程一起,清除GC不可达的对象,直接基于标记结果,直接清除对象。

有点

CMS的优点:并发收集停顿低

缺点

浮动垃圾

内存碎片

浮动垃圾

更多推荐

JVM虚拟机:垃圾回收器之CMS(老年代)

本文发布于:2023-11-15 08:17:24,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1596561.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:虚拟机   垃圾   年代   JVM   CMS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!