[問題] 記憶體回收,物件用完了最好釋放其參考?
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
→
08/22 09:28, , 1F
08/22 09:28, 1F
推
08/22 09:46, , 2F
08/22 09:46, 2F
→
08/22 09:55, , 3F
08/22 09:55, 3F
→
08/22 10:04, , 4F
08/22 10:04, 4F
→
08/22 10:05, , 5F
08/22 10:05, 5F
→
08/22 11:41, , 6F
08/22 11:41, 6F
→
08/22 11:44, , 7F
08/22 11:44, 7F
→
08/22 11:50, , 8F
08/22 11:50, 8F
→
08/22 12:00, , 9F
08/22 12:00, 9F
→
08/22 12:03, , 10F
08/22 12:03, 10F
推
08/22 13:12, , 11F
08/22 13:12, 11F
推
08/22 13:14, , 12F
08/22 13:14, 12F
→
08/22 13:16, , 13F
08/22 13:16, 13F
→
08/22 13:18, , 14F
08/22 13:18, 14F
推
08/22 13:21, , 15F
08/22 13:21, 15F
→
08/22 15:16, , 16F
08/22 15:16, 16F
→
08/22 15:20, , 17F
08/22 15:20, 17F
→
08/22 16:55, , 18F
08/22 16:55, 18F
→
08/22 16:56, , 19F
08/22 16:56, 19F
推
08/23 14:58, , 20F
08/23 14:58, 20F
→
08/23 15:50, , 21F
08/23 15:50, 21F
→
08/23 19:57, , 22F
08/23 19:57, 22F
→
08/23 20:01, , 23F
08/23 20:01, 23F
推
08/23 20:17, , 24F
08/23 20:17, 24F
→
08/23 20:22, , 25F
08/23 20:22, 25F
推
08/23 20:31, , 26F
08/23 20:31, 26F
→
08/24 08:57, , 27F
08/24 08:57, 27F