在java中调用System.gc()是否建议终生代和年轻代的垃圾收集?

Mar*_*ing 5 java garbage-collection

在java(通过JMX)中调用System.gc()时,它将尽职尽责地(尝试)清理年轻一代.这通常很有效.但我从未见过它试图清理终身一代.这引出了两个问题:

  1. 可以年老代,甚至采集(即有没有真正的垃圾在我们这一代,还是在年老代中的所有对象其实还是有活对它们的引用)?
  2. 如果可以收集终身代,可以通过System.gc()来完成,还是有另一种方法(不太可能),或者我只需要等到终身用完了?

Jos*_*seK 4

http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html#other_considerations指出 System.gc() 触发major收集,即包括终身。

您是否在 GC 日志中看到过这种情况?