GC垃圾回收机制

经典GC算法

引用计数

每个对象保存自己被引用的数量。当引用数量为 0 时,将其回收。(可以立刻回收)

缺点

存在循环引用无法释放问题: 多个对象互相引用

延伸
循环引用解决方法:强弱引用
「若 A 强引用了 B,那 B 引用 A 时就需使用弱引用,当判断是否为无用对象时仅考虑强引用计数是否为 0,不关心弱引用计数的数量」


根集合:栈上的引用、全局变量常量、程序的元数据等等


标记-清扫(为解决上面的循环引用问题)【标记工作一次完成】

  • 内存到达某个阈值或者固定时间长度会执行垃圾回收程序。
  • STW(不然mark和用户程序并发会有问题):用户的程序被停止执行,开始运行GC。
  • 算法分两个部分:标记࿰
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值