【发布时间】:2011-04-12 13:12:59
【问题描述】:
据我所知,在 java 中,如果我们想手动调用垃圾收集器,我们可以使用 System.gc()。
1.我们在覆盖的 finalize() 方法中做了哪些操作?
2.如果要手动调用JVM垃圾收集器,是否需要重写finalize()方法?
【问题讨论】:
-
很可能您永远不需要 finalize(),除了记录以跟踪泄漏之外,请记住 finalize() 会(相当大地)减慢对象并需要正确实现同步。
-
注意你的
finalize()方法,如果被调用,只会被调用一次。 -
这里假设 System.gc() 允许手动 GC。实际上它不是“手动”的,因为 JVM 可能会或不会遵循这个请求。此调用只是对 VM 的提示。