在引用数组中将对象引用设置为等于 null 是否会将其从 java 中的内存中完全删除?如果没有,那该怎么办?[复制]

Does setting an object reference equal to null in an array of references, delete it completely from the memory in java? If not, then how? [duplicate]

提问人:Shashwat Malasi 提问时间:10/12/2023 最后编辑:Shashwat Malasi 更新时间:10/12/2023 访问量:26

问:

如何在 Java 中从内存中的引用数组中完全删除对象引用?我将其值设置为null,但我不确定引擎盖下的工作方式。

我尝试使用 for 循环遍历数组以到达特定的索引,我必须从中删除对象引用,然后将所有其他引用分别向左移动一个位置。

Java 数组对象 引用 NullPointerException

评论

2赞 Jorn 10/12/2023
一旦没有对某个对象的引用,它最终将被垃圾回收。因此,如果该数组具有对对象的唯一引用,那么是的。
1赞 Jim Garrison 10/12/2023
你的问题有些模棱两可。您是希望从内存中删除引用,还是在谈论引用指向的对象?你想要控制它的原因是什么?这可能是一个 XY 问题

答:

0赞 Himanshu Gupta 10/12/2023 #1

如果您设置为 null 的对象变量,并且没有其他对象变量引用该对象,那么在某个时候,jvm 中的垃圾回收器会拾取它,但我们不必担心它。

请参阅此问题:

垃圾回收如何识别孤立对象?