有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓 Java高效子对象引用父对象

我是java/垃圾收集语言的新手,我仍然在思考对象引用的含义(因为我被告知它不是指针?)所以我在思考这个问题:

我有一个父/子对象结构,其中父对象将有几个列表,每个列表中有几个子对象。。。是否有任何低效或其他原因不在每个子项中都有一个指向其父项的指针?在我以前的语言(Delphi)中,它是一个简单的指针,所以根本不是问题。在Java中,这种做法有什么考虑因素吗


共 (4) 个答案

  1. # 1 楼答案

    据我所知,我会说你这样做很好。Java在清理垃圾方面做得很好,我通常在children类中有一个“parent”字段

  2. # 2 楼答案

    我认为如果你也阅读参考类型——强、弱、幻影和软,这会很有帮助。另外,请阅读GC如何工作(对于不同的世代-年轻/幸存者空间和老世代)、要使用的垃圾收集器以及可以指定的GC参数

  3. # 3 楼答案

    这里不应该有任何问题。从技术上讲,Java引用不是指针,但对于大多数问题,您可以类似地考虑它们。对象引用是指向Java堆中位置的整数。因此,它存储的每个额外位置都是一个额外的整数。一般来说,相当小

    你可以(通常!)当涉及到对象管理时,相信Java会做正确的事情,并且不必太担心垃圾收集或对象引用如何工作的复杂性

  4. # 4 楼答案

    正如前面的回答所述,一般来说,GC在清理方面做得很好。您主要关心的是一旦您离开某个活动,就会持续存在的事情,请抓住上下文。这将导致您的活动保留在内存中,因为您对它的引用不在它的父子树中

    更多关于这个here