Java内存分配
- 栈:方法运行时使用的内存,比如main方法运行,进入方法栈中执行。
- 堆:存储对象或者数组,new来创建的,都存储在堆内存。
- 方法区:存储可以运行的class文件。
- 本地方法栈:JVM在使用操作系统功能的时候使。
- 寄存器:给CPU使用。
Java内存分配:
数组的内存图
总结:
只要是new出来的一定是在堆里面开辟了一个小空间。
如果new了多次,那么堆里面有多个小空间,每个小空间中都有各自的数据。
当两个数组指向同一个小空间时,其中一个数组对小空间中的值发生了改变,那么其他数据再次访问的时候,都是修改之后的结果了 。