美文网首页java成长笔记
数组在内存中的加载过程

数组在内存中的加载过程

作者: G_uest | 来源:发表于2019-07-23 18:12 被阅读0次

一维数组

array1.jpg
int[] arr1 = new int[3];

先把 arr1 压进栈,然后在堆空间中开辟一个空间,并把值初始化为0(arr1为引用变量,但是内部数据是int类型,默认值为 0,具体请参照局部变量与成员变量),最后把 开辟的堆空间地址 赋值给arr1

int[] arr2 = arr1;

把 arr1 中的 地址 赋值给 arr2,此时 arr2 和 arr1 指向同一块空间。

arr2[0] = 20;

此时,arr1[0] 值为 20。

二维数组

array2.jpg
int[][] array = new int[3][];

这条语句会先把 array 压栈,然后在堆中开辟一个空间,初始值为 null(array为引用变量,第一维同样是引用类型,具体请参照局部变量与成员变量),最后把开辟的堆空间地址赋值给 array。

array[0][] = new int[1]

这条语句会在堆空间中开辟一个 只有一个 int 类型大小的空间,并初始化为 0 ,然后把自己的地址赋值给array[0][]。

array[1][] = new int[2];
array[2][] = new int[3];

这两条语句和上一条意义一样,就不再做解释

相关文章

  • 数组在内存中的加载过程

    一维数组 先把 arr1 压进栈,然后在堆空间中开辟一个空间,并把值初始化为0(arr1为引用变量,但是内部数据是...

  • Java 类的生命周期概述

    1. 概述 2. 过程一 :Loading加载过程 目标:将Java类的字节码文件加载到机器内存中,并在内存中构建...

  • 【iOS开发】WKWebView学习笔记(4)

    内存对比,播放的是相同的内容;在加载页面过程中明显看到WKWebView加载过程更快,UIWebView慢,有兴趣...

  • JVM总结

    1.类加载的过程 1.类的加载是指把类的.class 文件中的数据读入到内存中,通常是创建一个字节数组读入.cla...

  • 5. Disruptor 高性能解析

    1. 数据结构-内存预加载机制 数据结构层面:使用环形结构、数组、内存预加载RingBuffer使用数组Objec...

  • ClassLoader-1

    类加载过程: 类从被加载到虚拟机内存中,到从内存卸载,生命周期:加载 -> 连接 -> 初始化 -> 使用 -> ...

  • 类的加载阶段

    一、类加载  类加载:将类型加载至内存中,并完成相应的初始化。在Java中,该过程分为三个子阶段:加载、连接、初始...

  • JVM,包括内存模型、类加载机制以及性能优化

    一、类加载过程 类加载:类加载器将.class字节码文件加载进Java虚拟机的内存中。 加载:在硬盘上查找并通过I...

  • JVM(二)-内存结构

    内存结构简图: 虚拟机JVM加载程序过程: 1、类加载子系统把编译后的字节码文件(.class)加载到内存中2、方...

  • Android 性能优化之Loading Big Bitmaps

    高效加载Large Bitmaps 加载大Bitmaps到内存中,总是会有各种各样的问题,我们在开发过程中,经常会...

网友评论

    本文标题:数组在内存中的加载过程

    本文链接:https://www.haomeiwen.com/subject/zvbglctx.html