gpt4 book ai didi

java - Java 垃圾收集会释放它吗?

转载 作者:太空宇宙 更新时间:2023-11-04 13:32:38 24 4
gpt4 key购买 nike

如果我有课:

class node {
int i;
node other;
}

然后我在程序中执行以下步骤。

n1 = new node();
n2 = new node();
n1.other = n2;
n2.other = n1;
n1 = null;
n2 = null;

n1和n1占用的内存会被Java垃圾回收释放吗?

最佳答案

您的示例假设采用引用计数垃圾收集实现。 Java 相反使用标记和清除。标记和清除从各种已知的根对象(线程实例、系统对象等)开始并遍历对象图。每个访问过的对象都被标记为这样。遍历结束后,未标记(死亡)的对象将被收集。

在您的示例中,尽管节点相互引用,但无法从程序的任何实时部分访问它们,并且将被释放。

关于java - Java 垃圾收集会释放它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32012439/

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