java 板


LINE

JAVA不像C,不必擔心記憶體回收,但我反而更亂了,因為聽說... 為了讓記憶體更容易被回收,物件用完了最好釋放其參考。 以前又好像在網路上看過有人寫: LinkedList用完最好要clear(); StringBuilder用完最好setLength(0); 那普通的小物件呢? 是不是最好每個物件都弄個clearReference()清除參考的方法,物件不用時呼叫它? 還是不用那麼麻煩,要超過多大的物件才要釋放其參考呢? - - - 因為我想說先把物件釋放參考,垃圾回收器就不會浪費更多力氣, 去額外進階計算這個物件是否要被回收,也許這樣程式會更有效率? 還是我杞人憂天了? - - - 假設有兩個簡單的物件: public class A{ String s1; String s2; } public class B{ JComponent c1; JComponent c2; JComponent c3; } 每次某個物件A不用之後,就讓它 s1=null; s2=null; 每次某個物件B不用之後,就讓它 c1=null; c2=null; c3=null; 這樣對嗎?還是多此一舉? - - - 請問大家寫程式都會釋放其參考嗎?在什麼時候? --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.129.37.199
1F:→ darkk6:沒有被參考到的物件才有機會被 GC,我想他指的應該是這個 08/22 09:28
2F:推 lachtchlee:垃圾回收器是個thread 不管你有無麻煩它 它還都不是傻 08/22 09:46
3F:→ lachtchlee:呼呼的在run 有點自動控制的優勢 善用之 Java C++之不 08/22 09:55
4F:→ lachtchlee:同是也 Java 大聲地向C++說 我有內建的thread你呢老 08/22 10:04
5F:→ lachtchlee:哥 08/22 10:05
6F:→ ptt10:所以想請問,是否應該讓物件參考都變null,讓物件更容易被GC 08/22 11:41
7F:→ ptt10:這樣會比較有效率嗎?還是這樣是多餘的,反而會讓程式碼更雜 08/22 11:44
8F:→ darkk6:我是覺得不需要啦= =a 08/22 11:50
9F:→ ptt10:恩XD 因為我每次按Ctrl+Alt+Del來看,記憶體好像都釋放很慢 08/22 12:00
10F:→ ptt10:可能是我擔心太多吧=.=a 08/22 12:03
11F:推 chchwy:java故意設計成這樣的,就是不要你插手記憶體怎麼管 08/22 13:12
12F:推 COLDTURNIP:二樓,C++11 已經有 std::thread 了。 08/22 13:14
13F:→ COLDTURNIP:六樓,個人建議先從降低各元件相依性的複雜性著手, 08/22 13:16
14F:→ COLDTURNIP:然後在指向大型物件的地方開始考慮使用 WeekRef 08/22 13:18
15F:推 COLDTURNIP: a 08/22 13:21
16F:→ lachtchlee:自VC++ 6之後 我就投靠Java去了 請問COL~大std::thread 08/22 15:16
17F:→ lachtchlee:是語言內建的嗎 應是lib吧^~^ 設定null是好習慣 08/22 15:20
18F:→ dou0228:http://is.gd/DZMHfq 08/22 16:55
19F:→ dou0228:為了 thread 跑去用 C++11? 有 apr util 可以用 08/22 16:56
20F:推 tomap41017:有同樣問題+1,為何不設為null卻要使用Ref classes..? 08/23 14:58
21F:→ dou0228:設 null 不代表一定會被gc,就算call System.gc() 也一樣 08/23 15:50
22F:→ ptt10:所以大家覺得上面例子,A和B兩個小物件用完要設回null嗎0.0? 08/23 19:57
23F:→ ptt10:想請問到底 有設回null和沒設定,哪種比較好?還是有分情況? 08/23 20:01
24F:推 lachtchlee:如果是局部變量 離開作用域 就自然消失 不必設null 08/23 20:17
25F:→ lachtchlee:成員變量 作用域為整個類體內 設null為上策 08/23 20:22
26F:推 lachtchlee:public class A{ // A是類名 不叫物件 08/23 20:31
27F:→ ptt10:恩恩,謝謝^ ^ ps.稱物件是想說有new出來XD 08/24 08:57







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燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP