【发布时间】:2013-11-05 11:30:29
【问题描述】:
我在考虑 Java 和内存管理,有些事情我不确定。
假设我们使用包装类 Integer 将 int 类型表示为对象
我们创建了两个对象
整数 x = 1; 整数 y = 1:
我的问题是,Java 是否会在两个不同的内存位置创建两个相同的对象并用 x 和 y 引用它们。或者它只创建一个对象并使用两个引用指向那个对象?
另外,有没有办法在 Java 中找出对象在内存中的存储位置?
【问题讨论】:
-
在您的情况下,您正在创建两个不同的对象,到具有相同值的两个不同内存位置,它被存储两次。
-
即使我认为你检查 if(x == y) 如果它返回 true 那么这两个变量 x, y 指的是同一个对象:)。 == 总是检查内存引用而不是对象状态,所以你可以很容易地弄清楚。
标签: java object memory reference