Python垃圾回收机制中的标记清除和分代回收的关系,我对他们的理解是“分代回收”是回收了“标记清除”标记的垃圾对象,也就是说分代回收是建立在标记清除的基础上的,不知道我这么理解对不对?
如果不对,那么分代回收是如何区分需要回收和不需要回收的对象的呢?
请各路大神帮我解解惑 谢谢!
Python垃圾回收机制中的标记清除和分代回收的关系,我对他们的理解是“分代回收”是回收了“标记清除”标记的垃圾对象,也就是说分代回收是建立在标记清除的基础上的,不知道我这么理解对不对?
如果不对,那么分代回收是如何区分需要回收和不需要回收的对象的呢?
请各路大神帮我解解惑 谢谢!
1 回答1.4k 阅读✓ 已解决
1 回答977 阅读
分代跟标记清除没有关系。
标记清除,从GCROOT出发,标记所有的可达对象,不可达的就清除掉。
具体请搜索GCROOT。
分代的基本理论是大部分对象的生命很短,对年轻代和老年代使用不同的算法可以提高效率。