【发布时间】:2012-07-08 06:22:53
【问题描述】:
我想知道类变量存储对对象的引用而不是将对象直接存储在其内存位置有什么优势?
这与内存问题有关还是安全问题。
我试着环顾四周,我找不到这个问题。
谢谢。
【问题讨论】:
标签: java object reference class-variables
我想知道类变量存储对对象的引用而不是将对象直接存储在其内存位置有什么优势?
这与内存问题有关还是安全问题。
我试着环顾四周,我找不到这个问题。
谢谢。
【问题讨论】:
标签: java object reference class-variables
Java 将 Object 存储在堆内存中,但是从代码中我们需要使用一些句柄来访问该 Object,引用也是如此
同时在没有活动引用对象的情况下进行 GC 时,不再需要并且将准备好 GC
【讨论】:
更多的是关于内存,因为在将对象复制或传递给函数时,您无需创建/复制只需复制引用的对象。
例如:
Class1 a = new Class1();
Class1 b = a;
如果您不存储引用,那么在这种情况下,您将需要为 b 创建另一个对象,从而导致重复。
其次,
public void(Class1 obj){
//Some operation to Object
}
如果你传递整个 Object 而不是引用,你将再次需要内存来保存复制的 Object。
【讨论】:
如果您没有引用,就不可能实现大多数数据结构。考虑双向链表,或者节点包含父链接的树。
【讨论】: