2012-07-16 38 views
2

我是新來的Java /垃圾收集語言,我仍然得到了我的頭是什麼意思有一個對象引用(因爲我被告知它不是一個指針?)所以我正在思考這個問題:Java效率 - 子對象引用父對象

我有一個父/子對象結構,其中父母將有幾個孩子每個列表...有沒有任何低效率或任何其他原因沒有在每個孩子回指針它的父母?在我之前的語言(德爾福)中,它是一個簡單的指針,所以不是問題。在Java中這種做法是否有任何考慮?

回答

1

正如前面的答案所述,通常情況下,GC在清除問題方面相當不錯。你的主要關注點將是一旦你離開一項活動就會持續下去,並堅持上下文。這會導致你的Activity留在內存中,因爲你有一個對它不參與的父子樹的引用。

更多關於此here

+0

偉大的鏈接,謝謝! – 2012-07-16 18:47:20

2

從我所知道的我會說你會很好的做到這一點。 Java在清理垃圾方面做得很好,而且我通常在兒童課程中有一個「父」字段。

+0

謝謝!有朋友證實了這一點。 – 2012-07-16 18:43:41

3

這裏不應該有任何問題。技術上來說,Java引用不是指針,但對於大多數問題,您可以相似地考慮它們。對象引用是指向Java堆中的位置的整數。因此存儲的每個附加位置都是一個附加整數。一般來說,合理的小。

您可以(通常情況下)信任Java在對象管理方面做正確的事情,而不應該過分擔心垃圾收集或對象引用工作方式的錯綜複雜。

+0

感謝您對對象引用的澄清! :) – 2012-07-16 18:43:57

1

我想如果你在引用類型讀了也將是有益的 - 強,弱,虛軟,因爲這將是有益的。此外,請閱讀GC的工作原理(針對不同代 - 年老/倖存者空間&舊一代),要使用的垃圾收集器以及您可以指定的GC參數。