我认为,认为该
System.gc()方法的最佳方法是作为垃圾回收应运行的虚拟机的“提示”。就是说,就像人们认为自己正在执行的“优化”中有很大一部分一样,通常最好是让系统自行处理。系统在不断发展,等等,等等。在某些情况下,开发人员实际上可能会更好地知道它的用例,这与为什么某些代码仍以汇编语言编写的原因非常相似(大多数情况下,编译器会更好)。
,但在少数情况下-或只有少数开发人员-人们实际上可以编写更有效的代码)。
我过去看到的一个证明其存在合理性的示例是,如果分配了大量对象,并且您作为开发人员就知道它们将不再被使用的那一刻。在这种情况下,您可能比GC拥有更多的内存利用率信息(或者至少在它意识到之前),并且由于回收的内存量非常大,因此建议运行它是有意义的。



