如果我finalize()从程序代码中调用一个对象,当垃圾回收器处理这个对象时,JVM是否仍会再次运行该方法?
这将是一个近似的例子:
MyObject m = new MyObject();
m.finalize();
m = null;
System.gc()
Run Code Online (Sandbox Code Playgroud)
显式调用是否finalize()会使JVM的垃圾收集器不在finalize()对象上运行该方法m?
据我所知,在java中,如果我们想手动调用垃圾收集器,我们可以做System.gc().
1.我们在覆盖的finalize()方法中执行的操作是什么?
2.如果我们想手动调用JVM垃圾收集器,是否需要覆盖finalize()方法?