关于JVM回收

关于JVM回收

老师,我想问下,假设现在有个单向链表,是有节点的,比如有3个节点,现在想要删除头节点1,这样做:head = head.next;

那这样之前旧的head指向的节点1虽然没有办法被遍历到,但是它的next指针还是指向了新的he节点2的,

我的问题是,节点1引用了别人,但是没有别的结点引用它,在这种情况下,节点1能否被JVM回收呢

是不是只有没有别人引用它,它也没有引用别人的时候才可以被JVM回收



正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,是的,回收双向链表的节点时,该节点的pre和next都置为null节点才可以被JVM回收的。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

好帮手慕柯南 2020-04-01 17:57:14

同学你好!

节点1不会被回收;

别人引用它,也没有引用别人的时候才可以被JVM回收。就像图中的2节点,是一个孤立的存在时才会被回收

http://img1.sycdn.imooc.com//climg/5e84653809360f4d12240489.jpg

祝学习愉快~

  • 所以当删除掉双向链表的结点的时候一定要将被删除节点的pre和next都置为null节点才可以被JVM回收的呀orz
    2020-04-03 20:54:13
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师