一以贯之

python的内存管理

1 小数据池

2 垃圾回收机制

   http://python.jobbole.com/87843/
 
 
   2.1 引用计数:每个对象都保留着一块空间,,来追踪到底有多少引用指向了这个对象,
          如果我们程序中的一个变量或其他对象引用了目标对象,Python将会增加这个计数值;
          而当程序停止使用这个对象,则Python会减少这个计数值。一旦计数值被减到零,
         Python将会释放这个对象以及回收相关内存空间
 
 
   2.2 标记清除:基于追踪回收(tracing GC)技术实现的垃圾回收算法。
    它分为两个阶段:
      第一阶段是标记阶段,GC会把所有的『活动对象』打上标记,
      第二阶段是把那些没有标记的对象『非活动对象』进行回收
 
 
   2.3 分代回收:Python将内存根据对象的存活时间划分为不同的集合,
        每个集合称为一个代,
        Python将内存分为了3“代”,
          分别为年轻代(第0代)、
          中年代(第1代)、
          老年代(第2代),
          他们对应的是3个链表,它们的垃圾收集频率与对象的存活时间的增大而减小

  

posted on 2019-05-21 14:17  凡夫or俗子  阅读(231)  评论(0编辑  收藏  举报