class Test {
public static void main(String []args){
Test obj= new Test();
Test obj1 = new Test();
obj=obj1 ;
}
}
有人可以解释一下当我们obj = obj1时会发生什么。
答案 0 :(得分:0)
基本上,引用可以实现为指针,但不是必需的。
可以通过存储地址来实现引用。通常是Java 引用将作为指针实现,但不是必需的 规范。他们可能正在使用额外的一层 间接使更容易的垃圾收集。但最终呢 将(几乎 总是)归结为(C风格)指针参与 (Java风格)引用的实现。
值得阅读additional info.。
And,
Java引用不是指针。它们包含某种指针 数据或其他东西,因为它来自今天的计算机的性质 体系结构,但这完全取决于JVM的实现 存储在引用值中以及它如何访问它引用的对象 至。虽然没有太有效的实施,但绝对可以 拥有一个巨大的指针数组,每个指针都指向JVM的一个对象 并且引用是该数组的索引。
实际上JVM将引用实现为一种指针混合, 其中一些位是标志,一些位是“指向” 相对于某个区域的某个记忆位置。