代码如图 创建int数组 然后打印arr的地址,记录下地址一
然后再次执行main方法,为什么打印的arr内存地址跟地址一相等……
代码如图 创建int数组 然后打印arr的地址,记录下地址一
然后再次执行main方法,为什么打印的arr内存地址跟地址一相等……
这个可以这么理解,
你定义的arr是在这个jvm的第一个对象,然后他的内存是地址是那个,
而你在未更换jvm的情况下,默认的第一个内存开始位置是不变的。
看例子:
第一次:
[I@6e0be858
第二次:
[I@6e0be858
第三次:
[I@6e0be858
[I@61bbe9ba
[I@610455d6
[I@511d50c0
[I@60e53b93
[I@5e2de80c
[I@1d44bcfa
[I@266474c2
[I@6f94fa3e
[I@5e481248
第四次:
[Ljava.lang.String;@6e0be858
[I@61bbe9ba
[I@610455d6
从例子中可以看得出,第一个的开始始终是【858】结尾,
在第四次中,我在arr前面加了另外一个对象后,那么arr的地址就变化了。