python内存管理机制

python有自动内存回收机制, 一般情况下不需要程序员来进行处理,但是也要了解python的内存管理机制

python内存管理机制主要有 一、引用计数 二、垃圾回收 三 内存池

引用计数

引用计数是内存管理机制比较高效的手段,在python中,当我们创建一个对象,或对一个对象的引用,那么这个对象的引用计数加1。 当一个对象被销毁时,或则不再被引用时,其引用计数的话就会减1,当引用计数为0时这个对象就会被删除。

垃圾回收

1 引用计数 也是垃圾回收的一个机制,是一种比较简单实用的收集机制。

2 标记清除 是用来处理循环引用的情况。 如果两个对象在循环引用计数为1,那么这两个对象是要被回收的,也就是说他们的引用计数是非0的,但是实际有效的引用计数是为0 的,所以需要清除循环引用才能得到有效的引用计数。

分代回收机制: 在垃圾回收的越多,实际上垃圾检测操作也是增加,所以我们要使用分代回收。

内存池

手动回收垃圾gc ,避免循环引用

常见问题

内存泄漏是什么,如何避免?

内存泄漏是指一个对象申请了内存,但是忘记了释放内存,就导致了一个内存的浪费,久之内存就不够用了

如何解决? 我们可以通过 del object 删除对象的引用计数, 还可以通过gc模块来查看不能回收对象详细信息。

原文地址:https://www.cnblogs.com/kongguanghua/p/13274857.html