gpt4 book ai didi

java - 定义 : Unfinalized versus finalizable object

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:33:33 25 4
gpt4 key购买 nike

为了理解 Java 中的弱引用,我不得不查阅 Java 语言规范。以下部分来自第 12.6 节,令我感到困惑:

An unfinalized object has never had its finalizer automatically invoked; a finalized object has had its finalizer automatically invoked. A finalizable object has never had its finalizer automatically invoked, but the Java virtual machine may eventually automatically invoke its finalizer.

那么未终结对象和可终结对象之间的形式区别是什么?从引述看来,如果未终结和可终结是不同的,那么对于未终结的对象,JVM 最终可能会调用其终结器的情况肯定是真的。有点困惑,或者我还有一些英语语义需要研究;)

链接到 Java 规范中的部分:Implementing Finalization

最佳答案

答案似乎就在这一行:

If the Java virtual machine detects that an unfinalized object has become finalizer-reachable or unreachable, it may label the object finalizable (G, H);

未终结的对象还没有资格被终结。他们是可达的。可终结对象有资格被终结,所以 JVM 可以在它选择时这样做。换句话说,“可能”的意思是“允许”,而不仅仅是“它可能发生”的意思。

关于java - 定义 : Unfinalized versus finalizable object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6360742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com