0. 垃圾回收(GC
)简介
本文介绍了在了解垃圾回收过程中遇到的几个名词定义,并且简要介绍了三种垃圾回收器:引用计数回收器,标记清除回收器和世代回收器。这篇给出个框架,有时间再去填(其实已经写过一遍,某种逗逼原因内容没了,有不情愿再复写一遍:( )。
1. 名称定义
垃圾(Garbage
)
垃圾是什么,什么样的东西会被定义垃圾?
垃圾就是你们不能被引用也不能被访问的对象。
比如某个对象是有一个名字与它连接并引用的,突然在某个时候,那个名字就去引用其他对象了,那么这个对象就被孤立了,也就是说再也没有其他名字去引用它了,那么我们就称这个对象是垃圾。
类型安全/不安全(Type-safe, Type-unsafe
)
性能指标(Performance Measurement
)
可达/不可达(Reachable
)
2. 垃圾回收器
经典的垃圾回收有几种,例如,引用计数回收器,标记清除回收器,重定位回收器,拷贝回收器及世代回收器等等。这里主要介绍引用计数,标记清除和世代三种,还有两种其实和世代回收器类似。
引用计数回收器(Reference-count Based Collector
)
标记清除回收器(Mark-and-sweep Collector
)
世代回收器(Generation Collector
)
3. 总结
在接下一篇介绍Python中使用的垃圾回收机制,透露一下,正是结合使用上面叙述的三种回收器。他们如何配合,需要注意的点会在下篇给出。