Java内存分配
Java内存分配
-
栈:方法运行时使用的内存,比如main方法运行,进入方法栈中运行。
-
堆:存储对象或者数组,new来创建的,都存储在堆内存。
-
方法区:存储可以运行的class文件
-
本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发无关。
-
寄存器:给CPU使用,和我们开发无关。
总结:
-
只要是new出来的,一定是在堆里面开辟了一个小空间
-
如果new了多次,那么在堆里面有多个小空间,每个小空间都有各自的数据
两个数组指向同一个空间的内存图。
public static void main(string[] args){
int[] arr1 = {11,22};
int[] arr2 = arr1;
sout(arr1[0]);
sout(arr2[0]);
}