从三个方面来说,一是对象的引用计数、二是垃圾回收机制、三是内存池机制
对象的引用计数:
对象引用计数增加:为对象赋一个新名称、将该变量放入到容器中(列表、元祖等)
对象引用计数减少: 使用del语句删除对象别名、引用超出作用域被重新赋值
垃圾回收:
当一个对象的引用计数为0时,该对象会被回收,但是存在两个对象之间互相引用,这个时候,即使用del
语句删除对象别名,每个对象的引用计数为1,并不会被销毁。这个时候有一个循环检测器,它循环的检测
这些不可访问对象,并将它们删除。
内存池机制:
python提供的内存垃圾回收机制会将不用的内存放到内存池中,而不是返回给操作系统。