Java浅谈数组之内存分析

Posted 山河故人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
    }
}

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

以上是关于Java浅谈数组之内存分析的主要内容,如果未能解决你的问题,请参考以下文章

Java浅谈数组之多维数组

浅谈java 数组内存原理

浅谈Java内存结构

浅谈equals和==的区别

Java浅谈数组

Java源码之ArrayList分析