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

一、概述

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

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

二、原理

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

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

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

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

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

相关推荐
杨筱毅4 天前
【底层机制】Android GC -- 为什么要有GC?GC的核心原理?理解GC的意义
android·jvm·gc
鼠鼠我捏,要死了捏12 天前
深入剖析Java垃圾回收性能优化实战指南
java·性能优化·gc
鼠鼠我捏,要死了捏13 天前
深度解析JVM GC调优实践指南
java·jvm·gc
无毁的湖光-Al16 天前
日常问题排查-Younggc突然变长
jvm·gc
InCerry20 天前
为 .NET 10 GC(DATAS)做准备
性能优化·c#·.net·gc
徐子童1 个月前
JVM高频面试题---GC垃圾回收
java·开发语言·jvm·面试题·gc·垃圾回收算法
佛祖让我来巡山2 个月前
Java垃圾收集器全解:从Serial到G1的进化之旅
cms·gc·垃圾收集器·g1
佛祖让我来巡山2 个月前
小区物业的智慧:轻松图解JVM垃圾回收的奥秘
gc·垃圾回收·安全区域·安全点·三色标记
boonya2 个月前
Java垃圾回收机制理论算法及使用
jvm·算法·gc·垃圾收集器·理论
佛祖让我来巡山2 个月前
深入理解JNI、安全点与循环优化:构建高健壮性Java应用
gc·jni·安全点