一维数组的内存解析
Java中的内存结构是如何划分的? (主要关心JVM的运行时内存环境)
将内存区域分为5部分:程序计数器、虚拟机栈、本地方法栈、堆、方法区
与当前数组相关的内存结构: 例如:
int[] arr = new int[]{1,2,3};
虚拟机栈:用于存放方法中声明的变量。 例如:arr
堆:用于存储数组的实体(即数组中的所有元素)。 例如:1,2,3
二维数组元素的默认初始化值
动态初始化方法一:
(例如:int[][] arr = new int[3][4])
外部元素默认存储地址值。
内部元素的默认值与不同类型的一维数组元素的默认值相同。
动态初始化方法2:
(例如:int[][] arr = new int[3][])
案例: 语句:int[]x,y[]; 给x、y变量赋值后,允许编译以下选项:
语句:int[]x,y[]; 给x、y变量赋值后,允许编译以下选项: x:一维int[] y:二维int[][]
暗示:
一维数组:int[]x 或 intx[]
二维数组:int[][]y或int[]y[]或inty[][]