Python中三种垃圾回收策略具体是哪三种?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1197个文字,预计阅读时间需要5分钟。
引用计数+Python语言默认采用的垃圾收集机制是引用计数+引用检测方法。该方法最早由George E. Collins在1960年首次提出,至今已有50年历史。尽管如此,该算法仍然被许多编程语言使用。+引用
引用计数
Python语言默认采用的垃圾收集机制是『引用计数法 Reference Counting』,该算法最早George E. Collins在1960的时候首次提出,50年后的今天,该算法依然被很多编程语言使用。
『引用计数法』的原理是:每个对象维护一个ob_ref字段,用来记录该对象当前被引用的次数,每当新的引用指向该对象时,它的引用计数ob_ref加1,每当该对象的引用失效时计数ob_ref减1,一旦对象的引用计数为0,该对象立即被回收,对象占用的内存空间将被释放
缺点:它的缺点是需要额外的空间维护引用计数,这个问题是其次的,不过最主要的问题是它不能解决对象的“循环引用”,因此,也有很多语言比如Java并没有采用该算法做来垃圾的收集机制。
本文共计1197个文字,预计阅读时间需要5分钟。
引用计数+Python语言默认采用的垃圾收集机制是引用计数+引用检测方法。该方法最早由George E. Collins在1960年首次提出,至今已有50年历史。尽管如此,该算法仍然被许多编程语言使用。+引用
引用计数
Python语言默认采用的垃圾收集机制是『引用计数法 Reference Counting』,该算法最早George E. Collins在1960的时候首次提出,50年后的今天,该算法依然被很多编程语言使用。
『引用计数法』的原理是:每个对象维护一个ob_ref字段,用来记录该对象当前被引用的次数,每当新的引用指向该对象时,它的引用计数ob_ref加1,每当该对象的引用失效时计数ob_ref减1,一旦对象的引用计数为0,该对象立即被回收,对象占用的内存空间将被释放
缺点:它的缺点是需要额外的空间维护引用计数,这个问题是其次的,不过最主要的问题是它不能解决对象的“循环引用”,因此,也有很多语言比如Java并没有采用该算法做来垃圾的收集机制。

