这是面试中最常被问到的问题。我不想使用Java垃圾收集器。我们如何实现自己的垃圾收集器功能。有没有人有这个问题的解决方案?
答案 0 :(得分:2)
从实际角度来看,这不是可以真正完成的事情,因为GC是JVM的内部(和整体)部分。从学术角度来看,您需要深入了解JVM如何分配内存。大多数垃圾收集算法都是从一些已知的根开始工作的。它从每个根遍历内存,查找不再有任何引用的对象。那些没有引用的对象被认为是垃圾,并且它们占用的内存已被释放。任何剩余的对象仍然存在并在内存中移动以压缩内存使用并减少碎片。
这可能不是JVM GC的工作原理,但它说明了基本概念。