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

系列六、GC垃圾回收【四大垃圾算法-标记清除算法】

一、概述

标记清除算法分为两个阶段,即:标记和清除两个阶段,先标记出要回收的对象,然后统一回收这些对象。形如:

老年代一般是由标记清除或者标记清除 + 标记压缩的混合实现。

二、原理

        用通俗的话解释一下标记清除算法,就是当程序运行期间,如果可以使用的内存被耗尽的时候,GC线程就会被触发并将程序暂停,随后将要被回收的对象标记一遍,最后统一回收这些对象,最终统一回收这些对象,完成标记清理工作后,接下来便让应用程序恢复运行。

        主要进行两项工作,第一项是标记,第二项是清除:

        标记:从引用根节点开始标记遍历所有的GC Roots,先标记出需要回收的对象;

        清除:遍历整个堆,把标记的对象清除。

        缺点:此算法需要暂停整个应用,会产生内存碎片

http://www.dtcms.com/a/4315.html

相关文章:

  • git使用及常用命令
  • 【Go入门】并发
  • 【Proteus仿真】【51单片机】锂电池管理系统
  • 《QT从基础到进阶·三十三》QT插件开发QtPlugin
  • vue3 实现pdf预览
  • JAXB实现XML和Bean相互转换
  • css 设置网页最小字体为12px
  • Flutter 中在单个屏幕上实现多个列表
  • Go vs Rust:文件上传性能比较
  • 循环神经网络RNN完全解析:从基础理论到PyTorch实战
  • 【ArcGIS Pro二次开发】(76):面积平差工具
  • [C/C++]数据结构 LeetCode:用栈实现队列
  • SQL单表复杂查询where、group by、order by、limit
  • Linux基础全整理 从入门到放弃,一些想说的话
  • 大数据基础设施搭建 - ZooKeeper
  • 界面组件DevExpress Reporting v23.1亮点 - 全新升级报表查看器
  • 05 robotFrameWork+selenium2library 一维数组的使用
  • Java基础- 浅谈javac和javap
  • 05_SHELL编程之文本处理工具SED
  • 别再吐槽大学教材了,来看看这些网友强推的数学神作!
  • 【Python基础篇】运算符
  • Threejs之射线拾取模型
  • 内容运营策略:个性化推荐
  • 社区论坛小程序系统源码+自定义设置+活动奖励 自带流量主 带完整的搭建教程
  • Django 简单入门(一)
  • c++异常
  • JavaScript的函数的形参与实参是怎么回事
  • 3.Pandas高级函数应用
  • 【漏洞复现】IP-guard WebServer 远程命令执行
  • Linux系统中常用的压缩与解压缩方法