2012-07-16 78 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参数。