上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

GC算法学习

[复制链接]
  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    633

    主题

    5173

    回帖

    6052

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6052

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2021-8-20 21:50:47 | 显示全部楼层 | 阅读模式

    引用计数

    对对象的引用进行计数,优点在于简单方便,立即执行,缺点在于消耗资源过多,时间较长,对互相引用无能为力

    标记清除

    从根目录进行遍历对所有可以遍历到的对象进行标记,然后清除非标记的垃圾,优先在于相对引用消耗资源较小,缺点则是产生碎片化存储

    标记整理

    在标记清除后进行整理空间,防止产生碎片化存储

    标记增量

    在标记的过程中分时分段进行标记,与程序交替运行,减少等待时间,然后进行清除

    新生代与老生代

    新生代

    空间较小,存在两个空间,主副空间,垃圾清除时将主空间标记内容转移到副空间进行整理并清除垃圾并转移

    在存储占用大于一定百分比后或一轮GC清除后会将内容转移至老生代

    新生代通常由局部作用域等变量所占用

    老生代

    采用整理,清除,增量等算法

    使用标记清楚清除空间,然后使用整理

    采用增量标记的方法来进行效率优化

    已有1人评分好评 油猫币 理由
    陈公子的话 + 1 + 1 ggnb!

    查看全部评分 总评分:好评 +1  油猫币 +1 

    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表