栈:方法运行时使用的内存,比如main方法运行,进入方法栈中执行。堆:存储对象或者数组(实际上数组是特殊的对象),new来创建的,都存储在堆内存。方法区:存储可以运行的class文件。本地方法栈:JVM在使用操作系统功能的时候使用,和开发无关。寄存器:给CPU使用,和Java开发无关。在创建数组的过程中,arr存储地址在栈空间中,arr中具体的值在堆内存当中。