3

我想知道类变量存储对对象的引用而不是将对象直接存储在其内存位置有什么好处?

它与内存问题有关还是安全问题。

我试着环顾四周,我找不到这个问题。

谢谢。

4

3 回答 3

4

Java 将 Object 存储在堆内存中,但是从代码中我们需要使用一些句柄来访问该 Object,引用也是

此外,当不再需要没有活动引用对象时的 GC 并且将准备好 GC

于 2012-07-08T06:31:28.927 回答
2

它更多地与内存有关,因为在将对象复制或传递给函数时,您无需创建/复制只需复制引用的对象。

例如:

Class1 a = new Class1();
Class1 b = a;

如果您不存储引用,那么在这种情况下,您将需要为 b 创建另一个对象,从而导致重复。

第二 ,

public void(Class1 obj){
  //Some operation to Object
}

如果您传递整个 Object 而不是引用,您将再次需要内存来保存复制的 Object。

于 2012-07-08T06:41:19.103 回答
1

如果您没有引用,则不可能实现大多数数据结构。考虑双向链表,或节点包含父链接的树。

于 2012-07-08T07:00:45.273 回答