关于从 LinkedList 中删除节点时的垃圾收集器

发布于 2025-01-08 21:07:20 字数 314 浏览 0 评论 0原文

这是我的 LinkedList 类中删除函数的示例代码,它从中间删除一个节点。

        temp.getPrev().setNext(temp.getNext());
        temp.getNext().setPrev(temp.getPrev());
        temp.setNext(null);
        temp.setPrev(null);

我的问题是我是否必须将 temps next 和 prev 引用设置为 null 或者垃圾收集器是否自动处理此问题?如果您能帮助我,我将非常感激。无论如何,谢谢。

this is a sample code from delete function in my LinkedList class which deletes a node from middle.

        temp.getPrev().setNext(temp.getNext());
        temp.getNext().setPrev(temp.getPrev());
        temp.setNext(null);
        temp.setPrev(null);

my question is do i have to set temps next and prev references to null or does garbage collector handle with this automatically_?. i will appreciated very much if you can help me. and thanks anyway.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

树深时见影 2025-01-15 21:07:20

垃圾收集器分析是否存在对象的任何引用。由于在您的方法完成后没有对 temp 的引用,GC 应删除该对象。

Garbage Collector analyze if there is any reference to an object. Since there is no reference to temp after your method is finished, GC should remove this object.

擦肩而过的背影 2025-01-15 21:07:20

垃圾收集器将看到何时没有 temp 的引用。因此,您不必关心清空传出引用 - 如果您无法再达到 temp ,它将被垃圾收集(最终)。

The garbage collector will see when there's no references left to temp. Therefore you don't have to care about nulling outgoing references - if you can't reach temp anymore it will be garbage collected (eventually).

空心空情空意 2025-01-15 21:07:20

我认为你不应该。该节点不再在任何地方被引用,因此即使它引用了有效的对象,它也会被垃圾收集。

I don't think you should. The node is no longer referenced anywhere, so even though it references valid objects, it will be garbage-collected.

少跟Wǒ拽 2025-01-15 21:07:20

您必须确保没有对 temp 的实时引用。您不需要做任何额外的事情。

You have to make sure that there are no live references to temp. You don't need to do anything extra.

筱果果 2025-01-15 21:07:20

GC 仅考虑对对象的引用。该对象是否引用其他对象并不重要。

The GC only takes references to an object in consideration. It does not matter if the object has references to other objects.

慕巷 2025-01-15 21:07:20

我的问题是我是否必须将 temps next 和 prev 引用设置为 null 或者垃圾收集器是否自动处理这个_?

在对象变得不可访问之前,您不必将对象字段中的引用设置为 null。

垃圾收集器也不会为您将它们设置为 null。

但从无法访问的对象引用对象并不会阻止垃圾回收。

因此,如果稍后对下一个(或上一个)节点的唯一引用来自其他不可访问的节点,则可以收集该节点。

my question is do i have to set temps next and prev references to null or does garbage collector handle with this automatically_?

You do not have to set references in an object's fields to null before it becomes unreachable.

Nor will the garbage collector set them to null for you.

But a reference to an object from an unreachable object does not prevent garbage collection.

So if later on the only references to the next (or previous) node are from other unreachable nodes, then that node can be collected.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文