2017-04-26 24 views
-1

我想知道當前指向它的變量現在指向另一個對象時,舊對象會發生什麼。他們被刪除或什麼?如果我將一個新對象設置爲已有另一個對象的變量,那麼舊對象會發生什麼變化?

classA var = new classA(); 
var = new classB(); 

是對象「ClassA的」(這是在變量創建「VAR」)刪除當變量「VAR」設置等於對象「CLASSB」?

+0

這兩個,第一個和第二個答案給出了很多關於你的問題的細節。並提示:請理解,這些事情** **記錄在整個地方。任何涵蓋垃圾收集的合理文檔都可以解釋這些內容。在提出這樣的問題之前,你真的應該先做一些研究。 – GhostCat

+0

對不起,但在你告訴我之前我不知道「垃圾回收」。我搜索了我的問題,我找不到任何明確的答案。 –

回答

3

當一個對象的所有引用都不存在時,它就有資格作爲垃圾進行刪除。垃圾收集器遲早會從內存中刪除這個對象。但如果有足夠的記憶,那麼'以後'可能根本不會發生:沒有保證。

相關問題