python学习分享之垃圾回收-引用计数器

大家好,我是小眼睛优粥面,我想大家在面试Python的时候都会刷到过这样一道题:“请您谈一下Python的垃圾回收机制”,网上一句话概述了整个垃圾回收机制的原理:引用计数器为主,标记清除、分代回收为辅。好的,谈到这里说明你刷过一些Python面试题了,这个时候好奇的面试官肯定不是想就听到这点内容,接下来就有了以下对话:

面试官:你跟我介绍下分代回收和缓存原理吧?

我:......

面试官:那你说一下引用计数原理吧?

我:就是引用了+1,不引用-1,到0了回收......

面试官:好的,你回去等消息吧。(你被淘汰了......)

好的,为了避免这样的问题发生,今天我们就来详细谈一谈上面的所有问题,从引用计数器开始聊起。垃圾回收三部曲剩下两篇地址:标记清除和分代回收缓存机制​​​​​​​

欢迎大家交流分享(码字不易,希望大家标明出处),有不对的地方也请大家指正,万分感谢啦^ ^ ,也希望大家关注我的微信公众号 “记不住先生和忘不了小姐”,里面不光有 “记不住” 的技术还有那 “忘不了” 的情怀。


1. 环状双向链表refchain

再聊引用计数器之前,我们要先认识一个概念refchain,叫 “环状双向链表”,在python中创建的 “任何对象” 都会被放到这个双向链表中,可以说,你得到了这个双向链表,即你得到了python中的所有东西。这个双向链表大概就长成下面这个样子吧。

name = "Jeeven"
age = 18
sex = Man
country = China
city = Beijing
occupation = student

了解了这个概念,你可能会想:不同类型的数据创建的时候都放在这个链表中吗?放到这个链表中的数据结构是否一样呢?那我们从python的源码开始了解吧。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值