“嗨!我决定再给你上一堂关于垃圾回收的小课。”正如您已经知道的那样,Java 机器本身会监视一个对象何时变得不需要,并将其删除。“是的,之前你和Rishi跟我说过,具体的我不记得了。”“好吧。那我们再说一遍。”“一旦创建了一个对象,JVM 就会为它分配内存。使用引用变量监视对象的兴趣。可以在垃圾收集期间删除一个对象,即如果没有变量引用该对象,则释放内存的过程对象。”“告诉我一些关于垃圾收集器的信息——它是什么以及它是如何工作的。”“好吧。过去垃圾收集发生在主线程上。每 5 分钟一次,或更频繁。如果没有足够的可用内存,Java 机器将挂起所有线程并删除未使用的对象。”“但这种方法现在已经被放弃了。下一代垃圾收集器在幕后和一个单独的线程上工作。这被称为并发垃圾收集。”“我明白了。删除或不删除对象的决定究竟是如何做出的?”“仅仅计算对一个对象的引用次数并不是很有效——可能有一些对象相互引用,但没有被其他对象引用。””所以Java采取了不同的方法。Java将对象分为可达和不可达。如果一个对象被另一个可达(活)对象