Python考点

一、Python内存管理机制

1、GC
  • 为新生成的对象分配内存;
  • 识别那些垃圾对象;
  • 从垃圾对象那回收内存;
2、GC算法
  • python采用的是引用计数机制为主,标记-清除分代收集两种机制为辅的策略;
  • 引用计数机制的优点:
       (1)简单;
       (2)实时性:一旦没有引用,内存就直接释放了。不用像其他机制等到特定时机。实时性还带来一个好处:处理回收内存的时机分摊到了平时;
  • 引用计数机制的缺点:
       (1)维护引用计数消耗资源;
       (2)循环引用可能导致内存泄露(比如:对象A包含对象B,对象B又包含对象A)
  • 引用计数+1的场景:
       (1)对象被创建,比如a=23;
       (2)对象被引用,比如b=a;
       (3)对象被作为参数,传入到一个函数中,比如func(a);
       (4)对象被作为一个元素,存储在容器中,例如list1=[a, a];
  • 引用计数-1的场景:
       (1)对象的别名被显式销毁,比如del a;
       (2)对象的别名被赋予新的对象,比如a=24;
       (3)一个对象离开它的作用域,比如f函数执行完毕时,func函数中的局部变量(全部变量不会);
       (4)对象所在的容器被销毁,或从容器中删除对象;

二、




全部评论

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务