Java浅谈数组之内存分析(一)
数组的内存
1.内存中的数组
数组是一种引用内存,数组引用变量只是一个引用,数组元素和数组变量在内存里是分开存放的。
实际的数组对象被存放在堆内存(heap)中,数组的引用变量被存储在栈内存中。
package com.java.array; public class ArrayTest { public static void main(String[] args) { //定义并静态初始化数组 int [] array1={1,2,3}; //定义并动态初始化数组 int []array2=new int[4]; //输出array2的长度 System.out.println("array2的长度:"+array2.length); //循环输出array1数组的元素 for(int i=0;i<array1.length;i++){ System.out.println(array1[i]); } System.out.println("---------------------------------"); //循环输出array2的数组元素 for(int i=0;i<array2.length;i++){ System.out.println(array2[i]); } array2=array1; //再次输出array2的长度 System.out.println("array2的长度"+array2.length); } }
运行上面的代码时,具体的内存分析图如下: