为什么类变量的优势引用了一个对象?而不是存储对象本身

时间:2012-07-08 06:22:54

标签: java object reference class-variables

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

是否与内存问题有关或是否存在安全问题。

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

感谢。

3 个答案:

答案 0 :(得分:4)

Java将Object存储在堆内存中,但是从代码中我们需要使用某个句柄访问该Object,参考也是如此

同时,当不存在活动参考对象时进行GC操作,并且GC准备就绪

答案 1 :(得分:2)

更多关于内存的内容,因为在复制或传递对象功能时,您无需创建/复制只需复制引用的对象。

例如:

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

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

其次,

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

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

答案 2 :(得分:1)

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