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

关于三色标记算法的理解

三色标记算法是一种垃圾标记的算法,用于cms和g1。
它将对象分为3种颜色:
1.白色对象:未被标记的对象
2.灰色对象:自身被标记,引用的其它对象还没被标记
3.黑色对象:自身以及所引用的对象都被标记完

标记过程:
初始状态所有对象都是白色的,
从gc roots出发,将gc roots都标记成灰色,然后递归扫描所有灰色对象,当灰色对象的所有引用都处理完的时候,将灰色对象标记成黑色;最终所有存活的对象都会被标记成黑色,白色对象就是垃圾,会被清除。

会产生漏标的问题:
漏标产生的条件:黑色对象指向了白色对象,同时灰色对象指向白色对象的引用消失。
解决方法有两种:
在这里插入图片描述


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

相关文章:

  • flutter 用PUT的方式传输文件不带分隔符
  • 10 大元素打造的极简主义画卷,究竟藏着什么秘密?(建议收藏)
  • 【网络】什么是 ICMP (Internet Control Message Protocol)?
  • 软件许可的不同类型
  • 【DBeaver】连接带kerberos的hive[Apache|HDP]
  • Python | Leetcode Python题解之第524题通过删除字母匹配到字典里最长单词
  • Git 子模块初始化和管理
  • 【Python游戏开发】猜数字游戏
  • Anolis(龙蜥)系统介绍
  • Linux中部署PostgreSQL保姆级教程
  • 二叉树算法题
  • 数据泄露后的安全重构:文件安全再思考
  • Java-实现重试机制并防止短时间内多次尝试
  • 2024网盘市场扫描 细则功能逐一较量
  • 使用 fzf 实现文件快速查找、打开及执行
  • Windows SEH异常处理讨论
  • Tile38命令-【Keys】
  • 卡尔曼滤波-应用白话
  • 在JAVA中使用Paho MQTT客户端
  • ArkTS基础
  • Excel函数学习记录
  • Matlab中国三大自然分区
  • 智慧园区有哪些优势
  • Java解析word中的表格或者文本
  • 揭秘云计算 | 1、云从哪里来?
  • Redis(2):内存模型