Java中一维数组的内存图解

作者:神秘网友 发布时间:2020-10-29 03:31:54

Java中一维数组的内存图解

Java中一维数组的内存图解
Java中内存图:栈内存、堆内存、方法区。

栈内存:保存的是执行方法、运行方法(例如主方法)。

堆内存:保存的是具体的对象、数组等。
		代码中带 **new**的就会在堆内存中开辟空间。

方法区:加载某一个类的.class字节码文件。

Java中一维数组的内存图解
在方法区加载编译后的Demo01.class字节码文件

将main方法加载到栈内存中,执行int [ ] arr = ,此时有new,在堆内存中开辟一块空间,创建一个数组(5个连续的空间),数组的索引为0-4。

开辟空间后,数组会生成一个在内存当中的地址值,并把地址值赋值给arr。即可通过此地址值找到对应的内存空间。打印arr就会显示内存的地址值。( [ 代表一维数组,I 代表当前数据类型,@为固定连接符号,后面为十六进制的内存地址值)。

int默认的初始化值为0,此时为数组进行赋值,通过地址值找到这一块空间,通过0索引找到这一块,将默认的初始化值替换即可。

Java中一维数组的内存图解
数组名称不再记录任何地址值时,无法操作那一块数组空间。即将数组的引用置为空(NULL)
即 arr = NULL,此时继续访问数组中的元素就会出现错误NullPointerException(空指针异常)

Java中一维数组的内存图解相关教程

  1. 在Java控制台实现学生成绩管理系统

    在Java控制台实现学生成绩管理系统 学生成绩管理系统 将该系统的使用方法打印出来 当输入help后,系统会输出系统的具体指令,并且当输入对应指令加-h后,控制台会再出现一个指令的具体使用方法 1、将学生的成绩存入一个二维数组中,行代表学生,列代表每个科

  2. 【RxJava】RxJava系列文章之just+fromArray操作符

    【RxJava】RxJava系列文章之just+fromArray操作符 学而不思则罔,思而不学则殆 【RxJava】RxJava系列文章之just+fromArray操作符 简单介绍 简单使用 Demo1 Demo2 Demo3 原理分析 ObservableEmpty ObservableEmpty 源码分析 ObservableEmpty 官方的图 Observab

  3. java.io.IOException: mark/reset not supported 异常

    java.io.IOException: mark/reset not supported 异常 在 Azure 上传文件的时候遇到了一个下面的异常: java.io.IOException: mark/reset not supported at java.base/java.io.InputStream.reset(InputStream.java:655) at com.azure.storage.common.Utility.

  4. 第十一届蓝桥杯省赛第二场Java B组 题目及答案解析(持续更新中

    第十一届蓝桥杯省赛第二场Java B组 题目及答案解析(持续更新中) 结果填空题 试题 A: 门牌制作(5分) 试题 B: 寻找 2020(5分) 试题 C: 蛇形填数(10分) 试题 D: 七段码(10分) 试题 A: 门牌制作(5分) 【问题描述】 小蓝要为一条街的住户制作门牌号。

  5. java练习-任务1.3挑战-输入数字打开程序

    java练习-任务1.3挑战-输入数字打开程序 任务要求: 完成一个 java application应用程序,通过键盘输入1、2、3等值,输入1则调用运行windows记事本程序,输入2则调用运行windows画图程序等等。 任务分析: Java 应用程序都有一个 Runtime 类实例,使应用程序

  6. Android 移动开发 | Android身高预测小程序(Java实现功能)

    Android 移动开发 | Android身高预测小程序(Java实现功能) 1. 前言: 基因在个人身高的决定中占重要地位,除此之外睡眠、运动、营养、发育时间都会影响身高。根据下面公式实现简单的预测身高程序: 男性身高= (父亲身高+母亲身高)*0.54 女性身高= (父亲身高*0

  7. Leetcode 最长可整合子数组+排序矩阵查找

    Leetcode 最长可整合子数组+排序矩阵查找 给定一个NM的整形矩阵matrix和一个整数K, matrix的每一行和每一列都是排好序的。 实现一个函数,判断K是否在matrix中 2 4 51 2 3 42 4 5 6 Yes 【思路】 以 左下角或者右上角 作为分析点,因为这些点横向和纵向一定是

  8. Java面向对象6-抽象类和接口介绍与运用

    Java面向对象6-抽象类和接口介绍与运用 Java面向对象6-抽象类和接口介绍与运用 用 abstract 修饰的类就是抽象类。如果某个类中 包含有抽象方法 ,那么该类就 必须定义成抽象类。 抽象方法 抽象方法是一种特殊的方法:它只有声明,而没有具体的实现 抽象方法必