有人可以指引我如何实现垃圾回收的好资料吗?我正在制作一个类似Lisp的解释型语言。它目前使用引用计数,但当然在释放循环依赖对象方面会失败。
我阅读了标记-清除、三色标记、移动和不移动、增量和停止-全局等内容,但是……我不知道在保持对象被分开成集合的最佳方式和同时将每个对象的内存开销最小的情况下,如何以增量的方式进行操作。
我已经阅读了一些使用引用计数的语言使用循环引用检测的方法,我可以使用这种方法。 我知道我可以使用像Boehm之类的免费收集器,但我想学习如何自己实现。
我将感激任何针对没有此类经验的人的教程或帮助的在线材料。