Re: [問題] 關於 Garbage Collection
※ 引述《mserway (mserway)》之銘言:
: 大家好。
: 詢問的是當程式執行到 第 18 行,有多少個物件有資格被資源回收(GC)。
: 3. class Beta {}
: 4. class Alpha {
: 5. static Beta b1;
: 6. Beta b2;
: 7. }
: 8. public class Tester {
: 9. public static void main(String [] args) {
: 10. Beta b1 = new Beta();
: 11. Beta b2 = new Beta();
: 12. Alpha a1 = new Alpha();
: 13. Alpha a2 = new Alpha();
: 14. a1.b1 = b1;
: 15. a1.b2 = b1;
: 16. a2.b2 = b2;
: 17. a1 = null; b1 = null; b2 = null;
: 18. // do stuff
: 19. }
: 20. }
: 此題為 "SCJP 6 專業認證手冊" 的題目,第284頁 第11題
: 解答為 "只有一個物件" 有資格被資源回收。
: 解釋如下3點 :
: 1) a2 有指涉到一個物件;
: 2) a2.b2有指涉到一個物件;
: 3) 仍然可能透過 a2.b1 這個靜態變數來存取另一個 Beta 物件。
: 我的問題是 : 哪個物件有資格被資源回收? a1 或是 b1 指涉的物件?
: b1 原先指涉的 Beta 物件可否被 a1.b1 (靜態變數)存取?
: 覺得自己在這部分上有盲點,希望有興趣的朋友可以給予一點幫助~ 謝謝!
總共有四個實體被 new 出來
為方便起見依照 new 它出來的行數分別叫做 B10 B11 A12 A13
那麼他的解釋就可以這麼改寫:
1) A13 仍被 a2 參考;
2) B11 仍被 a2.b2 參考;
3) B10 仍被 a2.b1 參考. (其實以 A.b1 亦可使用到 B10 此實體)
於是可被回收的是 A12
這樣有把問題搞懂了嗎?
--
いああオレたちには見えてるモノがあるbデ きっと誰にも奪われないモノがあるはずさ
け 開口一番一虚一実跳梁跋扈形影相弔yュL羊頭狗肉東奔西走国士無双南柯之夢 歪も
ぶ 意味がないと思えるコトがある ラPきっとでも意図はそこに必ずある んの
く 依依恋恋空前絶後疾風怒濤有無相生 ラH急転直下物情騷然愚者一得相思相愛 だが
ろ 無意味じゃない ラ6あの意図が 恋た
で 有為転変死生有命蒼天已死黄天當立 !!6五里霧中解散宣言千錯万綜則天去私 のり
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.135
推
10/24 16:25, , 1F
10/24 16:25, 1F
推
10/24 16:27, , 2F
10/24 16:27, 2F
→
10/24 23:12, , 3F
10/24 23:12, 3F
→
10/24 23:14, , 4F
10/24 23:14, 4F
推
10/25 00:16, , 5F
10/25 00:16, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):