diff --git a/notes/Java 虚拟机.md b/notes/Java 虚拟机.md index 6a90b26c..9bfebcbb 100644 --- a/notes/Java 虚拟机.md +++ b/notes/Java 虚拟机.md @@ -261,7 +261,7 @@ obj = null; finalize() 类似 C++ 的析构函数,用来做关闭外部资源等工作。但是 try-finally 等方式可以做的更好,并且该方法运行代价高昂,不确定性大,无法保证各个对象的调用顺序,因此最好不要使用。 -当一个对象可被回收时,如果需要执行该对象的 finalize() 方法,那么就有可能通过在该方法中让对象重新被引用,从而实现自救。 +当一个对象可被回收时,如果需要执行该对象的 finalize() 方法,那么就有可能通过在该方法中让对象重新被引用,从而实现自救(自救只能进行一次,如果回收的对象之前调用了finalize()方法自救,后面回收时不会调用finalize()方法)。 ## 垃圾收集算法