什么"时间精确"的垃圾收集算法确实存在?

Ask*_*aga 6 language-agnostic garbage-collection

哪些垃圾收集算法一旦变成垃圾就能识别垃圾对象?

我唯一想到的是每次引用计数递减到非零值时引用计数和添加的循环搜索.

还有其他有趣的收集算法可以实现吗?(请注意,我只是出于好奇而被问到;我知道所有这些收藏家可能都会非常低效)

wal*_*lyk -4

这种机制称为“堆管理”,而不是垃圾收集。

根据定义,垃圾收集与堆管理分离。这是因为在某些环境/应用程序中,跳过执行“免费”操作并跟踪正在使用的内容会更有效。相反,每隔一段时间,就收集所有未引用的节点并将它们放回到空闲列表中。

== 附录 ==

我因试图用垃圾收集来纠正堆管理的术语而被否决。维基百科的文章与我的用法以及我在大学学到的东西一致,尽管那是几十年前的事了。Lisp 和 Snobol 等语言发明了垃圾收集的需求。C 等语言不提供如此繁重的运行时环境;相反,依赖程序员来管理未使用的内存和资源位的清理。