水木社区手机版
首页
|版面-Java技术(Java)|
新版wap站已上线
返回
1/1
|
转到
主题:请教一个内存泄露问题
楼主
|
sopholess
|
2021-03-26 11:30:58
|
只看此ID
ListNode memoryLeak() { ListNode head = getLinkedList(); // 得到一个链表 return head.next; }
ListNode是链表的节点类,现在返回链表的第二个节点的引用,那么这个方法调用以后,第一个节点head是否被回收掉呢?
我以为不会,因为head引用着第二个节点。请指教。
--
FROM 115.171.61.*
1楼
|
bihai
|
2021-03-27 08:54:28
|
只看此ID
head是局域变量,应该在栈上,它引用了一个堆上的数据而已。这个变量本身在函数返回时就消失了。
这么看,它指向的数据可以被销毁。
【 在 sopholess 的大作中提到: 】
: [code=java]
: ListNode memoryLeak() {
: ListNode head = getLinkedList(); // 得到一个链表
: ...................
--
FROM 98.42.143.*
2楼
|
byrer
|
2021-03-27 09:39:08
|
只看此ID
一个对象会不会被回收不应该是看有没有其他不可回收的指向他吗?
【 在 sopholess 的大作中提到: 】
: ListNode memoryLeak() {
ListNode head = getLinkedList(); // 得到一个链表
return head.next;
}
:
: ListNode是链表的节点类,现在返回链表的第二个节
: ..................
发自「今日水木 on Redmi K20」
--
FROM 111.199.186.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版