Python垃圾回收机制
2019-03-18 15:17
274 查看
版权声明:Ch3nnnnnnnnnn的博客 https://blog.csdn.net/weixin_43064185/article/details/88639597
内存管理机制:
-
引用计数:
最直观高效的内存管理手段, 当一个python对象被应用时其计数会增加1, 当其不再被一个变量引用时则计数减少1. 当引用计数等于0时对象被删除 -
垃圾回收
(1)引用计数
(2)标记-清除: 当两个对象的引用计数都为1时, 但是仅仅存在它们之间的循环引用, 那么这两个对象都需要被回收的, 也就是说它们的引用计数虽然表现不为0, 但是实际上有效引用计数为0, 所以先将循环引用摘掉, 就能得出这两个对象的有效计数
(3)分代回收: Python中将所有对象根据生存时间分为3代, 也就是说通过时间换空间, 新的对象放在第0代中, 当经历一次垃圾回收,对象还存在就把该对象放在下一代(第1代中), 如果第1代垃圾回收还存在就放在第2代中. 对于不同代的回收频率是不相同的 -
内存池
Python中的内存机制是呈现金字塔形状
第3层是最上一层, 是python对象的直接调用
第2层和第1层, 是内存池 有python接口函数
第0层, 是C语言的函数操作
第-1,-2层, 是操作系统进行操作
相关文章推荐
- Python垃圾回收机制
- Python垃圾回收机制:gc模块(zz)
- python垃圾回收机制
- 24-python_内部类-构造函数与析构函数-垃圾回收机制
- Python垃圾回收机制
- python 垃圾回收机制
- Python垃圾回收机制
- 理解Python垃圾回收机制
- Python垃圾回收机制详解
- Python中的垃圾回收机制
- Python中的垃圾回收机制
- python,.Net,Java的垃圾回收机制
- Python垃圾回收机制
- python中垃圾回收机制和什么是gc
- Python中垃圾回收机制的理解
- Python的垃圾回收机制(四)之回收流程源码剖析
- Python 垃圾回收机制详解
- Python垃圾回收机制:gc模块
- Python垃圾回收机制及gc理解