python内存管理机制 ( Pymalloc ) 包括三个方面:引用计数、垃圾收集、内存池。下面分别予以阐述。
1. 引用计数:python程序中使用的每个变量后台都有一个引用计数。赋值或调用操作,计数加一;相反,删除或移出窗口对象,计数减一。
2. 垃圾收集:将引用计数为0的对象所占有的内存空间释放。还有一个循环垃圾收集器,负责清理未引用的循环,如两个对象互相引用的情况。
3. 内存池:内存池是预先从内存中申请的内存块,当创建小于256 bits 的对象时,从内存池申请内存空间。创建大于256 bits 的对象从内存申请空间。释放内存时,来自内存池的内存空间返回给内存池。这样做的目的是为了减少内存碎片,提升效率。