典型的现代JVM使用几种不同类型的垃圾收集器。
一种经常用于已经存在一段时间的对象的类型称为Mark-and-
Sweep。它基本上涉及从已知的“活动”对象(所谓的
垃圾回收根 )开始,遵循所有对象引用链,并将每个可到达的对象标记为“活动”。
完成此操作后, 清除 阶段可以回收那些尚未标记为“活动”的对象。
为了使此过程正常运行,JVM必须知道每个对象引用在内存中的位置。这是
精确
实现垃圾收集器(Java是)的必要条件。

典型的现代JVM使用几种不同类型的垃圾收集器。
一种经常用于已经存在一段时间的对象的类型称为Mark-and-
Sweep。它基本上涉及从已知的“活动”对象(所谓的
垃圾回收根 )开始,遵循所有对象引用链,并将每个可到达的对象标记为“活动”。
完成此操作后, 清除 阶段可以回收那些尚未标记为“活动”的对象。
为了使此过程正常运行,JVM必须知道每个对象引用在内存中的位置。这是
精确
实现垃圾收集器(Java是)的必要条件。