Python的垃圾回收机制

2019-05-01  本文已影响0人  Ethan遗忘

什么是垃圾回收

垃圾回收是指在程序运行过程中,通过某种机制删除不再需要使用的对象,释放其使用的内存资源。

为什么需要垃圾回收

Python语言如何进行垃圾回收

什么是引用计数法

存储对象时,除了存储对象的类型和值外,同时还存储一个计数器其被引用的次数,在对象被引用时该计数器递增一,在对象的某一引用关系被解除后,该计数器的值递减一,一旦对象的引用计数递减为零,则删除该对象,释放其占用的内存空间。

什么时候引用计数递增一

什么时候引用计数递减一

引用计数法的优点

引用计数法的缺点

什么是追踪法 / 标记删除法

指从“GC根节点”出发,通过引用关系追踪找出所有“可达”的对象,标记出存活的对象(即可达的对象),删除所有已死的对象(即不可达的对象),在内存中的对象数量超过特定阈值后,会启动该回收机制。

追踪法/标记删除法的优点

追踪法/标记删除法的缺点

什么是分代回收

分代回收是一种追踪法垃圾回收的一种,基于“大多数对象在年轻的时候就会被回收”的假设(类似已经流传了更多年的书籍比新出版的书籍更可能继续流传下去),对“年轻”的对象进行更高频率的垃圾回收。

什么时候触发

分代回收的优点

上一篇 下一篇

猜你喜欢

热点阅读