Python的垃圾回收机制(一)之简介

时间:2022-06-11 06:22:53

0. 垃圾回收(GC)简介

本文介绍了在了解垃圾回收过程中遇到的几个名词定义,并且简要介绍了三种垃圾回收器:引用计数回收器,标记清除回收器和世代回收器。这篇给出个框架,有时间再去填(其实已经写过一遍,某种逗逼原因内容没了,有不情愿再复写一遍:( )。

1. 名称定义

垃圾(Garbage)

垃圾是什么,什么样的东西会被定义垃圾?

垃圾就是你们不能被引用也不能被访问的对象。

比如某个对象是有一个名字与它连接并引用的,突然在某个时候,那个名字就去引用其他对象了,那么这个对象就被孤立了,也就是说再也没有其他名字去引用它了,那么我们就称这个对象是垃圾。

类型安全/不安全(Type-safe, Type-unsafe

性能指标(Performance Measurement)

可达/不可达(Reachable)

2. 垃圾回收器

经典的垃圾回收有几种,例如,引用计数回收器,标记清除回收器,重定位回收器,拷贝回收器及世代回收器等等。这里主要介绍引用计数,标记清除和世代三种,还有两种其实和世代回收器类似。

引用计数回收器(Reference-count Based Collector)

标记清除回收器(Mark-and-sweep Collector)

世代回收器(Generation Collector)

3. 总结

在接下一篇介绍Python中使用的垃圾回收机制,透露一下,正是结合使用上面叙述的三种回收器。他们如何配合,需要注意的点会在下篇给出。