问题描述
- Java中的GC问题,GC是只看对对象引用的数量吗
-
今天突然想到一个问题,如果我写了这样的代码LinkedList<String> list = new LinkedList<>(); list.add(...); list.add(...); list = new LinkedList<>(); list.add(...); list.add(...);
那么原来的的链表会被Garbage collected吗?每个节点还是会被其他节点引用?
解决方案
当你把list引用指向另外一个linkedlist时,原来那个linkedlist对象则会成为垃圾,垃圾收集器在下次回收的时候检查到该对象已经没有任何引用指向它,则会回收。
解决方案二:
楼上正解。你已经重新new了一个list了,以前的就没有用了,会成为回收的对象。
时间: 2024-09-29 19:32:28