Python 垃圾回收机制
来源:互联网 发布:证大财富 淘宝达人贷 编辑:程序博客网 时间:2024/05/21 15:05
python 中垃圾回收有三种策略:
1.引用计数
2.标记-清除.
3.分代,收集
引用计数,相当于C++中的智能指针,python中是以对象为一个单位,每个单位中会维护一个计数器,当定义,创建或引用变量时,计数器会加1,当删除变量引用时计数器会减一。当计数值为0的时候,释放内存。
由于存在循环引用的问题,因此引入了标记-清除策略,该策略首先确定一个节点(当前不会被回收的节点,一般为全局对象),将它置到可达列表中,遍历可达列表,在可达列表中选取一个节点,把该节点引用过的其他节点也置到可达节点当中,直到可达列表不再增加为止,标记结束,回收不可达节点。
为了提高标记-清除的效率,提出了分代-收集策略,基本思想是:那些长时间在内存中的变量应该比较晚的收回。维护三代,默认为700、10、10,这些数字表示每一代中最多保存的变量数目。当1代超过阈值,回收1.2.3代,当2代超过阈值回收2.3.当3代超过阈值,回收3.
0 0
- Python垃圾回收机制
- Python--垃圾回收机制
- python垃圾回收机制
- Python 垃圾回收机制
- Python垃圾回收机制
- python垃圾回收机制
- Python垃圾回收机制
- python垃圾回收机制
- python垃圾回收机制
- [Python]垃圾回收机制
- Python 垃圾回收机制
- Python垃圾回收机制
- Python垃圾回收机制
- python-垃圾回收机制
- Python垃圾回收机制
- python垃圾回收机制!
- python-垃圾回收机制
- python垃圾回收机制
- Noip04合唱队形题解
- C++中const用法总结
- Eclipse学习心得
- 向Web站点发送GET请求、POST请求
- RQNOJ143 题解 、、
- Python 垃圾回收机制
- Implicit intents with startService are not safe错误的解决方式
- 策略模式的应用——游戏中武器的选择
- 记录Ubuntu下搭建Android开发环境
- I帧、P帧和B帧的特点
- leetcode:Bitwise AND of Numbers Range
- 额,好吧,关于codeblocks的可能你没碰到的问题及解决办法
- xib中多个cell下的Autoresizing问题
- Python学习笔记之dict、set