这将会是有益的,如果任何人都可以适当地在2点从finalize()方法的javadoc的在Object类中澄清:澄清finalize()方法
1. It is guaranteed, however, that the thread that invokes finalize will not be holding any user-visible synchronization locks when finalize is invoked.
什么是“意义用户可见'同步?除了“用户可见”之外,还有其他同步吗?
2. The finalize method is never invoked more than once by a Java virtual machine for any given object.
在这种情况下,JVM必须保持每一个独特的身份和每个对象有史以来VS其finalize方法被调用的信息。它最终会不会超越它存储的区域?
对于1,我会猜测这意味着同步对线程可见。对于第2步,一旦对象的终结器已经运行,对象消失,因此不需要进一步的记录。 – Erik
1s点是好的。对于我对第二点的评论,请查看我对Ivan的回答的评论。 – RRM