首页 > 技术文章 > Java浅谈数组之内存分析(一)

hc20080925hq 2017-10-15 11:01 原文

数组的内存

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);
    }
}

运行上面的代码时,具体的内存分析图如下:

推荐阅读