【问题标题】:Java linked list pointers garbage collection [duplicate]Java链表指针垃圾收集[重复]
【发布时间】:2018-12-09 12:20:30
【问题描述】:

当我设置 1.next 指向 3 时,2 会因为没有任何指向它而被删除,还是会因为 next 指向 3 而留在内存中?

【问题讨论】:

  • 郑重声明:在发布问题之前,您应该做一些研究。当您开始学习一门语言时,请放心:您梦寐以求的任何问题都曾被问过。除此之外,还有很多资源很好地解释了标准 Java GC 机制的工作原理。
  • 糟糕,抱歉,我只检查了搜索时弹出的第一个。
  • 没关系。至少你在写问题时付出了一些努力!

标签: java linked-list garbage-collection


【解决方案1】:

无法访问,因此将被收集。引用在 Java 中仅以一种方式起作用 - 给定对“3”的引用,您无法获得“2”。

如果只有 '1'、'2' 和 '3' 引用了 '1'、'2' 和 '3',那么它们都是不可访问的,即使它们之间有循环引用。

【讨论】:

  • 谢谢,我会尽快设置为答案
【解决方案2】:

如果没有指向它,垃圾收集器将删除 2。当它不能被任何其他值访问时,它是否存在都没有关系。

【讨论】:

  • 谢谢你,遗憾的是汤姆快了几秒钟 :)
  • @Herpn'nFoDerp 不接受第一个答案,接受最好的。
  • @ThorbjørnRavnAndersen 那么哪一个是最好的呢?我不知道,因为他们都回答了我的问题
  • @Herpn'nFoDerp 等一下,看看会发生什么。
  • @ThorbjørnRavnAndersen aaand?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-07
  • 1970-01-01
  • 2012-10-03
  • 1970-01-01
  • 1970-01-01
  • 2010-12-13
  • 1970-01-01
相关资源
最近更新 更多