希望有所帮助... (翻译自法语维基百科): 并非所有数据的寿命都相同。有些数据需要在创建后不久清除,而其他数据则会在程序执行期间保留(全局变量等)。 一种解决方案是要求程序根据其可能的寿命“标记”这些数据。但这将是一个非常繁重的解决方案,因为数据通常是由库函数创建的,我们需要将它们的寿命作为参数提供。生成系统强度更小。垃圾收集器创建了几代层次结构,从最年轻的到最老的。新创建的数据通常放置在最年轻的一代中。在这个年轻的一代中经常进行垃圾收集。那些没有被收集和销毁的数据则被移动到较旧的一代中,以此类推。其想法是具有较短寿命的数据不会到达较老的一代(如果它们在被GC发现时刚刚分配,则可以)。通常,有2或3个新生代,每一代都使用不同的算法,通常最年轻的一代使用非增量算法,因为它很轻巧,垃圾回收时间很短。较旧的代使用增量算法进行回收。调整分代垃圾回收器可能很困难,因为最年轻的一代的大小会严重影响计算。最佳选择取决于应用程序、CPU类型和内存架构。