java 板


LINE

这是从LinkedList.java节录出的一段: private E remove(Entry<E> e) { if (e == header) throw new NoSuchElementException(); E result = e.element; e.previous.next = e.next; e.next.previous = e.previous; e.next = e.previous = null; e.element = null; size--; modCount++; return result; } public void clear() { Entry<E> e = header.next; while (e != header) { Entry<E> next = e.next; e.next = e.previous = null; e.element = null; e = next; } header.next = header.previous = header; size = 0; modCount++; } 在这边小弟有个疑问,如果这边的原始码改成了这样: private E remove(Entry<E> e) { if (e == header) throw new NoSuchElementException(); E result = e.element; e.previous.next = e.next; e.next.previous = e.previous; // 把这二行砍了 // e.next = e.previous = null; // e.element = null; size--; modCount++; return result; } public void clear() { // 把这里也砍了 //Entry<E> e = header.next; //while (e != header) { // Entry<E> next = e.next; // e.next = e.previous = null; // e.element = null; // e = next; //} header.next = header.previous = header; size = 0; modCount++; } 这样的话GC还回收得到中间的Entry吗? 不晓得会不会造成记忆体遗失的问题@@" 还是说这样做GC还是回收得到,只是会比较慢!? (猜测) PS: 看过了wiki,但我有看没有懂: 虽然记忆体管理器可以回复不能存取的记忆体,但它不可以释放可存取的记忆体因为仍有 可能需要使用。现代的记忆体管理器因此为程式设计员提供技术来标示记忆体的可用性, 以不同级别的「存取性」表示。记忆体管理器不会把需要存取可能较高的物件释放。当物 件直接和一个强参照相关或者间接和一组强参照相关表示该物件存取性较强。(强参照相 对於弱参照,是防止物件被回收的一个参照。)要防止此类记忆体泄漏,开发者必须使用 物件後清理参照,一般都是在不再需要时将参照设成null,如果有可能,把维持强参照的 事件侦听器全部登出。 wiki 内部记忆体泄漏 网址: http://zh.wikipedia.org/zh-tw/%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F 希望各位大大能对半路出家的我指点迷津... Thanks~ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.164.80.146
1F:→ s3748679:话说... 本日公休是什麽意思..不会主力都撤了吧(拖走.. 10/20 01:07
2F:推 lachtchlee:把那几个步骤 图示出来 不就一目了然 ? 10/20 10:41
3F:→ lachtchlee:java.lang.ref.SoftReference 10/20 11:25
4F:→ lachtchlee:java.lang.ref.PhantomReference 10/20 11:28
5F:→ lachtchlee:因变量和物件的有效期有差别 丢垃圾时不能认为垃圾车 10/20 11:34
6F:→ lachtchlee:很听话 参考以上文档 你那些都乖乖地留着 不要删除 10/20 11:41
7F:→ lachtchlee:例如 我在方法体内通过局部变量创建一个物件 再以返回 10/20 11:49
8F:→ lachtchlee:值的形式将它带出方法体外 指派给其他局部变量或成员 10/20 11:54
9F:→ lachtchlee:变量 却不用担心原先创建它的变量 是死是活 还存在否? 10/20 11:59
10F:推 PsMonkey:请不要推文超过 3 行,谢谢 10/20 12:30
11F:→ lachtchlee:多谢指导 10/20 13:07
12F:→ s3748679:@lachtchlee: 感谢你的回覆~ 10/20 22:01







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP