当前位置: 首页 > news >正文

91-java cms垃圾回收器

Java中的CMS(Concurrent Mark Sweep)垃圾收集器是一种老年代垃圾收集器,适用于处理老年代的垃圾收集。它使用标记-清除算法,但通过并发的方式来减少垃圾收集对应用的影响

CMS垃圾收集器有以下几个阶段:

  1. 初始化标记(Initial Mark):这个阶段会停止所有的应用线程,并记录下直接与根节点相连的对象。

  2. 并发标记(Concurrent Mark):在初始化标记的基础上继续进行垃圾收集,同时应用线程继续运行。

  3. 并发预清理(Concurrent Preclean):为了减少标记阶段的开销,预先清理一些已经死亡的对象。

  4. 重新标记(Remark):停止所有应用线程,重新标记在并发标记阶段发生变动的对象。

  5. 并发清除(Concurrent Sweep):垃圾收集器线程开始清除未被标记的对象,而应用线程继续运行。

  6. 并发重置(Concurrent Reset):这个阶段为下一次GC做准备,重置记录的垃圾收集信息。

CMS垃圾收集器的优点是低延迟,但是其缺点也很明显,包括:

  • 对CPU资源非常敏感。

  • 无法处理浮动垃圾,可能导致"Concurrent Mode Failure",这时候会退化成旧的标记-清除算法进行垃圾收集,停止所有应用线程。

  • 因为并发执行,所以无法保证垃圾收集过程中的内存空间的一致性,可能产生不一致的垃圾收集器根。


http://www.mrgr.cn/news/26991.html

相关文章:

  • 解决ubuntu 24.04 ibus出现卡死、高延迟问题
  • 如何自学SQL(从入门到精通)?
  • 这些211学校,跳一跳就能够着!自动化考研择校
  • 2024北京IC WORLD大会圆满收官!高频科技收获满满,同“芯”共促产业发展
  • iPhone 16预售已开,沙漠金色最抢手,喜提新机后别忘了这件事!
  • 监控易监测对象及指标之:全面监控DB2_linux数据库
  • C++ 继承【一篇让你学会继承】
  • 红黑树的删除
  • 10大差异!Linux运维VS云计算运维深度解析
  • 运算放大器选型的关键参数
  • CISP可以自己报名吗?CISP在哪报名?看完你就知道了!
  • 网络工程师学习笔记——网络互连与互联网
  • 清理C盘缓存的垃圾,专业清理C盘缓存垃圾与优化运行内存的策略
  • 抖音视频下载
  • C和指针:函数
  • 工作流技术(WorkFlow)
  • Python的Scapy库详解
  • 变量取值范围
  • Android Studio 安装2022版稳定版 2022.3.1 详细操作(带图展示)
  • leetcode53.最大子数组和