是的,这就是垃圾收集的重点。
有许多不同形式的垃圾收集。如果不增强算法,最简单的形式即引用计数就无法处理某些类型的垃圾(循环引用)。
Java(Sun JVM)使用世代标记和清除收集器,尽管这不是标准化的,并且不同的JVM使用不同的收集器。我不知道.NET CLR使用的确切收集器。
像垃圾收集器这样可以减少程序员的开销,并且可以使某些算法性能更好。但是,它们的内存占用空间通常大于严格的手动分配系统。
关于该主题的事实上的参考是《 Garbage
Collection》一书,该书写得很好并且很全面。



