Python的垃圾回收机制(garbage collection)是什么【面试题详解】

今天爱分享给大家带来Python的垃圾回收机制(garbage collection)是什么【面试题详解】,希望能够帮助到大家。
Python在内存中存储了每个对象的引用计数(reference count)。如果计数值变成0,那么相应的对象就会小时,分配给该对象的内存就会释放出来用作他用。

偶尔也会出现引用循环(reference cycle)。垃圾回收器会定时寻找这个循环,并将其回收。举个例子,假设有两个对象o1和o2,而且符合o1.x == o2和o2.x == o1这两个条件。如果o1和o2没有其他代码引用,那么它们就不应该继续存在。但它们的引用计数都是1。

Python中使用了某些启发式算法(heuristics)来加速垃圾回收。例如,越晚创建的对象更有可能被回收。对象被创建之后,垃圾回收器会分配它们所属的代(generation)。每个对象都会被分配一个代,而被分配更年轻代的对象是优先被处理的。

人已赞赏
Python

python a=1, b=2, 不用中间变量交换a和b的值【面试题详解】

2020-11-28 23:05:11

Python

lambda函数是什么?lambda函数有什么好处[面试题详解]

2020-11-28 23:07:35

'); })();