当前位置: 首页 > 知识库问答 >
问题:

单链接列表中的节点何时符合垃圾收集条件

施茂
2023-03-14
  1. 何时单链表中的节点符合垃圾回收机制
  2. 如果单链表中有一个节点是最后一个元素,那么它的下一个指针将指向null。如果假设最后一个元素中的数据也是null。在这种情况下,数据和下一个指针都是空的。这个元素是否符合垃圾回收机制?

共有2个答案

南宫阳焱
2023-03-14

没有节点不符合垃圾收集的条件,因为此节点仍从最后的第二个节点进行访问。

此节点仅适用于垃圾回收机制第二个最后一个节点下一个指针为NULL。

示例:有一个具有5个节点的链表。1-

案例:1节点5下一个字段包含NULL。若节点5的值也包含NULL,但节点4的下一个字段仍然指向节点5,所以节点5不符合垃圾收集的条件。

邓光赫
2023-03-14

当且仅当没有对对象的引用时,对象才是可垃圾回收的。

这意味着,直到所有对它的引用都被丢弃,对象才会成为gc的候选对象。

如果单链表中有一个节点是最后一个元素,那么它的下一个指针将指向null。假设最后一个元素中的数据也是null。在这种情况下,数据和下一个指针都为空。此元素是否有资格进行垃圾收集?

还是没有!!最后一个节点可以从第二个最后一个元素访问。Java不会清除最后一个元素。它与对象的内容为null无关。

 类似资料:
  • 问题内容: 这个问题来自Kathy Sierra SCJP 1.6 。有多少对象可以进行垃圾收集? 根据Kathy Sierra的回答,它是。这意味着两个对象可以进行垃圾回收。我已经给出了答案的解释。 但是,为什么不符合垃圾收集(GC)的条件? 何时到达,有多少对象可以使用GC? 答:0 B:1 C:2 D:编译失败 E:不可能知道 F:在运行时引发异常 回答: C是正确的。仅一个CardBoar

  • 这个问题取自凯西·塞拉SCJP 1.6。有多少对象符合垃圾收集的条件? 根据凯西·塞拉的回答,它是。这意味着有两个对象可以进行垃圾收集。我已经解释了答案。但是为什么不符合垃圾收集(GC)的条件呢? 当到达时,有多少对象符合GC条件? A:0 答复: C是正确的。只有一个硬纸板对象(c1)符合条件,但它有一个关联的wrapper对象也符合条件

  • 问题内容: 我有一段代码可以在内存中加载很大的图像。所以打电话似乎是合理的事情 在加载图像之前。据我所知,它毫无问题。 昨天,我决定使用一个名为FindBugs的非常有用的软件来扫描您的代码并报告可能导致错误或通常不建议使用的策略的问题。问题是我提到的这段代码得到了报告。描述是这样的: …强迫垃圾收集;除了基准测试代码外,都非常可疑 并继续阐述: 代码显式调用垃圾回收。除了基准测试中的特定用途外,

  • 问题内容: 假设您有引用。当您删除对from 的引用时,将剩下一个孤立的Objects链。 将与被垃圾收集,即使没有办法让他们(因为有没有参考)? 我认为GC对此很聪明,并且可以解决所有此类依赖关系。 但是,我查看了该类的源代码,发现与此信念背道而驰。我注意到,当编辑列表时,每个链接的所有引用都显式设置为,从而使其成为一个操作。这样做有什么理由/好处吗? 问题答案: 看起来确实有些奇怪。可能是因为

  • 问题内容: 输入以下代码: 问题是,之前有多少对象可以进行垃圾回收。 那么正确的答案是(至少那是面试官的答案): 2- 布尔值,因为它是包装器和。 您能请我解释一下为什么并且没有被垃圾收集吗? 稍后编辑: 好吧,我想我明白了。起初有点令人困惑,但现在我确信面试官是错的。我最初的错误是,起初我不认为Java仅通过值传递,因此不可能从以“ a2”为参数的函数内部使a2为null,因为a2实际上是a2的

  • Kubernetes 垃圾收集器的角色是删除指定的对象,这些对象曾经有但以后不再拥有 Owner 了。 注意:垃圾收集是 beta 特性,在 Kubernetes 1.4 及以上版本默认启用。 Owner 和 Dependent 一些 Kubernetes 对象是其它一些的 Owner。例如,一个 ReplicaSet 是一组 Pod 的 Owner。具有 Owner 的对象被称为是 Owner