Ton*_*ony 5 java garbage-collection jvm finalize
调用System.gc()或finalize()方法时内部发生了什么(JVM)?
这真的是收集垃圾还是降低性能?
当您调用System.gc()时,恰好发生了与JVM相关的事情.JVM将此调用视为一个建议,它可能是运行垃圾收集器的好时机,因此不要依赖它.
当JVM确定对该对象没有更多可访问的引用时,垃圾收集器会在对象上运行对象的finalize()方法.你不应该在你的代码中调用它.请记住,在程序丢失最终引用时,不会调用finalize(),而是在将来运行垃圾收集器时调用,因此不要依赖于它在特定时间点(或在所有).
System.gc()正如其名称所示,通过调用垃圾收集器来运行。此时,当对象真正被删除时,会finalize()在这些对象消失之前调用 。
or最后一个问题中不应有“ ”。这是垃圾收集并降低了性能。
通常你根本不应该关心,gc因为它对你来说确实很有用。在某些使用场景中,您希望在某个时间点删除大量对象;那么这是可行的。