python 垃圾回收
Posted maxiaohei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 垃圾回收相关的知识,希望对你有一定的参考价值。
1. 小整数对象池
整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间。
Python 对小整数的定义是 [-5, 256] 这些整数对象是提前建立好的,不会被垃圾回收。在一个 Python 的程序中,所有位于这个范围内的整数使用的都是同一个对象.
同理,单个字母也是这样的。
2. 大整数对象池
每一个大整数,均创建一个新的对象。
3. intern机制
靠引用计数去维护何时释放。
总结
- 小整数[-5,256]共用对象,常驻内存
- 单个字符共用对象,常驻内存
- 单个单词,不可修改,默认开启intern机制,共用对象,引用计数为0,则销毁
- 字符串(含有空格),不可修改,没开启intern机制,不共用对象,引用计数为0,销毁
- 大整数不共用内存,引用计数为0,销毁
- 数值类型和字符串类型在 Python 中都是不可变的,这意味着你无法修改这个对象的值,每次对变量的修改,实际上是创建一个新的对象
以上是关于python 垃圾回收的主要内容,如果未能解决你的问题,请参考以下文章