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

一、概述

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

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

二、原理

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

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

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

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

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

相关推荐
weisian15115 天前
JVM--10-JVM实战部署全指南:从`java -jar`到生产级高可用
java·jvm·jar·gc
洛豳枭薰18 天前
线上 Full GC 故障模拟
jvm·gc
wgslucky23 天前
jdk17 配置jvm参数中gc的日志及控制日志数量和大小
jvm·gc·-xlog
波波00724 天前
每日一题:.NET 的 GC是如何分代工作的?
算法·.net·gc
Serene_Dream25 天前
Java 垃圾收集器
java·jvm·面试·gc
蜂蜜黄油呀土豆1 个月前
Java虚拟机垃圾回收机制解析
java·jvm·性能优化·gc·垃圾回收
尽兴-1 个月前
JVM垃圾收集器深度解析:G1与ZGC
jvm·gc·zgc·g1·垃圾收集器java
尽兴-1 个月前
JVM垃圾收集器与三色标记算法详解
java·jvm·算法·cms·gc·g1·三色标记算法
尽兴-1 个月前
JVM垃圾回收核心知识体系
jvm·cms·gc·垃圾回收·zgc·g1 垃圾收集器
加油20191 个月前
GO语言内存逃逸和GC机制
golang·内存管理·gc·内存逃逸