首页 > 编程语言 > 详细

python 垃圾回收

时间:2017-11-07 20:18:09      阅读:258      评论:0      收藏:0      [点我收藏+]

1. 小整数对象池

整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间。

Python 对小整数的定义是 [-5, 256] 这些整数对象是提前建立好的,不会被垃圾回收。在一个 Python 的程序中,所有位于这个范围内的整数使用的都是同一个对象.

同理,单个字母也是这样的。

2. 大整数对象池

每一个大整数,均创建一个新的对象。

3. intern机制

靠引用计数去维护何时释放。

总结

  • 小整数[-5,256]共用对象,常驻内存
  • 单个字符共用对象,常驻内存
  • 单个单词,不可修改,默认开启intern机制,共用对象,引用计数为0,则销毁 
  • 字符串(含有空格),不可修改,没开启intern机制,不共用对象,引用计数为0,销毁 
  • 大整数不共用内存,引用计数为0,销毁 
  • 数值类型和字符串类型在 Python 中都是不可变的,这意味着你无法修改这个对象的值,每次对变量的修改,实际上是创建一个新的对象 

python 垃圾回收

原文:http://www.cnblogs.com/maxiaohei/p/7800837.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!