chevron_left

Python 语言基础面试复习

免费
第 3.2 回

教程文档

Python 语言基础面试复习 - 内存管理与垃圾回收机制

2023年11月17日
Python 语言基础面试复习

内存管理与垃圾回收机制

Python 的内存管理机制及调优手段?

内存管理机制:引用计数、垃圾回收、内存池。

垃圾回收:

  1. 引用计数 引用计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术。当 Python 的某个对象的引用计数降为 0 时,说明没有任何引用指向该对象,该对象就成为要被回收的垃圾了。比如某个新建对象,它被分配给某个引用,对象的引用计数变为 1。如果引用被删除,对象的引用计数为 0,那么该对象就可以被垃圾回收。不过如果出现循环引用的话,引用计数机制就不再起有效的作用了。

  2. 标记清除 如果两个对象的引用计数都为 1,但是仅仅存在他们之间的循环引用,那么这两个对象都是需要被回收的,也就是说,它们的引用计数虽然表现为非 0,但实际上有效的引用计数为 0。所以先将循环引用摘掉,就会得出这两个对象的有效计数。

  3. 分代回收 从前面“标记 - 清除”这样的垃圾收集机制来看,这种垃圾收集机制所带来的额外操作实际上与系统 中总的内存块的数量是相关的,当需要回收的内存块越多时,垃圾检测带来的额外操作就越多,而垃圾回收带来的...

课程介绍

Python 工作面试必备复习知识