gpt4 book ai didi

Java - 这个对象什么时候卸载?

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

这是我的代码:

    LinkedList <Mono> list = new LinkedList ();

list.add(new Mono (2, 2));
list.add(new Mono (1, -1));
list.remove (1);

现在,当列表中的第二项被删除时,对象是否被销毁? IE,它经历垃圾收集?

最佳答案

编辑新问题:

是的,当没有剩余的强引用时,该对象将有资格进行垃圾回收。然而,JVM 将尝试大批量清理垃圾,因此它实际上可以在以后的任意时间收集(或者永远不会,如果 JVM 在 GC 开始之前终止)

旧答案:

类卸载是罕见事件,通常不会及时发生(如果有的话)

具体来说,即使在它符合收集条件之后,它也不会像您的 Mono 实例那样与“正常”的新对象一起被收集 - 它通常位于一个特殊的不同池中(Oracle JVM 中的 PermGen)

您应该假设一旦一个类被加载,它将永远保持加载状态。一旦您了解了容器中的 Web 应用程序,这并不总是正确的,但任何在这些环境中工作过的人都可以告诉您它的总体效果(不)如何。

关于Java - 这个对象什么时候卸载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7693579/

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