引用计数垃圾收集方法综述
2015-07-02贺建立
安庆师范大学学报(自然科学版) 2015年4期
关键词:方法
贺 建 立
(安庆师范学院 计算机与信息学院,安徽 安庆 246133)
贺 建 立
(安庆师范学院 计算机与信息学院,安徽 安庆 246133)
基于两个C语言程序引出引用计数垃圾收集的基本方法、存在的效率和回收环垃圾问题,归纳了引用计数自动回收内存方法在改进效率、回收环垃圾、并发收集方面的研究进展及存在的问题和相应的解决方法,对改进性能和回收环垃圾的方法进行了分类和分析,阐述了并发收集的重要设计策略,并对典型的引用计数垃圾收集器进行了分析和比较。
引用计数;内存管理;垃圾收集;环垃圾 DOI:10.13757/j.cnki.cn34-1150/n.2015.04.011
内存自动管理是快速开发大型可靠软件的重要工具,垃圾收集方法对软件运行时性能会产生重要影响,实现高效的内存管理和垃圾收集是当前系统软件设计的目标之一。J.Mccartihy和G.E.Collins于1960年先后提出了跟踪[1]和引用计数[2]垃圾收集方法。跟踪方法从根集开始传递闭包的遍历对象图,回收没有被跟踪到的对象。引用计数方法记录对象被引用的次数,当对象的引用计数为零时,表明对象是不可达的,可以被回收。简单引用计数方法因频繁地更新对象的引用计数比跟踪方法多损失30%的性能[3],且不能回收带环的数据对象。五十多年来,由于引用计数方法存在明显缺陷,跟踪垃圾收集器及其变种(标记清扫、半空间拷贝和标记压缩)得到了更为广泛的发展与应用。
引用计数垃圾收集方法相对跟踪方法具备一些明显优势:(1)引用计数为零的垃圾对象及时地被回收;……
登录APP查看全文
