python是如何进行内存管理的?
2014-04-24 11:45
253 查看
python内存管理机制 ( Pymalloc ) 包括三个方面:引用计数、垃圾收集、内存池。下面分别予以阐述。
1. 引用计数:python程序中使用的每个变量后台都有一个引用计数。赋值或调用操作,计数加一;相反,删除或移出窗口对象,计数减一。
2. 垃圾收集:将引用计数为0的对象所占有的内存空间释放。还有一个循环垃圾收集器,负责清理未引用的循环,如两个对象互相引用的情况。
3. 内存池:内存池是预先从内存中申请的内存块,当创建小于256 bits 的对象时,从内存池申请内存空间。创建大于256 bits 的对象从内存申请空间。释放内存时,来自内存池的内存空间返回给内存池。这样做的目的是为了减少内存碎片,提升效率。
1. 引用计数:python程序中使用的每个变量后台都有一个引用计数。赋值或调用操作,计数加一;相反,删除或移出窗口对象,计数减一。
2. 垃圾收集:将引用计数为0的对象所占有的内存空间释放。还有一个循环垃圾收集器,负责清理未引用的循环,如两个对象互相引用的情况。
3. 内存池:内存池是预先从内存中申请的内存块,当创建小于256 bits 的对象时,从内存池申请内存空间。创建大于256 bits 的对象从内存申请空间。释放内存时,来自内存池的内存空间返回给内存池。这样做的目的是为了减少内存碎片,提升效率。
相关文章推荐
- 2.1 Python是如何进行内存管理的?
- python 试题:简述Python是如何进行内存管理的?
- Python是如何进行内存管理的
- python如何进行内存管理
- **Python是如何进行内存管理的?
- Appium python自动化测试系列之等待函数如何进行实战(九)
- 如何用Python来进行查询和替换一个文本字符串
- python 如何进行多个字符串的拼接
- 利用python进行数据分析——p26,"一定要以pylab模式”打开如何解决
- 如何使用python进行递归计算
- 游戏中如何进行Python技术
- Python中如何进行HTML特殊字符与Unicode代码的转换
- python中的list如何进行相减操作或者将list分片
- 如何进行服务器的批量管理以及python 的paramiko的模块
- python关于如何进行Keras神经网络可视化的配置
- python 4-5 如何对字符串进行左, 右, 居中对齐str.ljust/rjust/center/format(s,'<20'/'>20'/'^20')
- 如何用pdb进行python调试
- 2.3版本python如何进行调试
- 【Python环境】如何使用正确的姿势进行高效Python函数式编程?
- 在arcgis使用python脚本进行字段计算时是如何解决中文问题的