Ytt*_*ill 4 algorithm garbage-collection
有谁知道GC算法利用类型信息来允许增量收集,优化收集,并行收集或其他一些不错的功能?
通过类型信息,我的意思是真正的语义.让我举一个例子:假设我们有一个OO样式类,其中包含维护隐藏表示的列表的方法.当对象变得无法访问时,收集器可以在列表中运行,删除所有节点.由于封装,它知道它们现在都无法到达.它还知道不需要对指针进行常规的节点扫描,因为它知道所有节点都是相同的类型.
显然,这是一个特殊情况,可以使用C++中的析构函数轻松处理.真正的问题是,是否有办法分析程序中使用的类型,并指示收集器使用结果信息来获益.我想你会称这是一个类型导向的垃圾收集器.
至少以某种方式利用容器进行垃圾收集的想法并不新鲜,尽管在Java中,您通常不能假设容器只包含对其中对象的引用,因此您的方法在该上下文中不起作用.
这里有几个参考.一个用于泄漏检测,另一个用于(从我的研究小组)用于改进缓存局部性.
http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4814126 http://www.cs.umass.edu/~emery/pubs/06-06.pdf
您可能想访问Richard Jones的大量垃圾收集参考书目以获取更多参考资料,或者询问有关gc-list的人.