第一行代码, 左边的int[] arr 会进入到栈内存, 右边的new int[3] 会进入到堆内存.
第一行代码的动作还没有做完, 接下来再堆内存中开辟一块空间, 然后使用001 这个地址来标识这块空间.
然后把堆内存的地址值001赋值给 栈内存中的 arr .
这样, 第一行代码就执行完成了.
给数组赋值
把索引 0 的值修改为 100.
把索引2 的值修改为200.
修改完成之后, 堆内存的数据已经发生了改变.
再次输出数组名的时候, 因为数组 就只new 了一次, 所以地址时不会变的, 所以输出的还是001.
arr[0] 的值是100.
arr[2] 的值是200.
代码验证
控制台输出结果: