当前位置:首页学习笔记Java笔记2.4 数组的内存图

2.4 数组的内存图

一.java内存分配:

1. 栈:方法运行时使用的内存,比如main方法运行,进入方法栈中进行,代码执行完毕会出栈

2. 堆:存储对象或者数组,new来创建的,都存储在堆内存并产生地址值,每一块空间的地址值都是不一样的

3. 方法区(元空间):存储可以运行的class文件

4. 本地方法栈:jvm在使用操作系统功能的时候使用,和我们开发无关

5. 寄存器:给cpu使用,和我们开发无关

 

注意:方法区之前是和堆连接在一起的,从JDK8开始,取消方法区,新增元空间;把原来方法区的多种功能进行拆分,有的功能放到了堆当中,有的功能放到了元空间中

 

数组的内存图:

2.4 数组的内存图

解释:

首先main方法进栈,开始执行第一行的代码,创建一个名字叫arr的动态数组,并在堆内存中开辟了一个小空间,打印数组其实打印的是数组的地址值,由于没有给数组添加元素,所以一开始打印arr数组中的元素都是int类型默认的0;后面给arr数组0索引和1索引的元素进行赋值,原先的0就被覆盖了,后面打印出来的就是我们赋值的值;然后打印了”———-“, 再创建了一个静态数组arr2,并添加了三个元素,打印数组arr2其实就是打印数组的地址值,最后打印arr2中0索引,1索引和2索引的三个元素

总结:

1. 只要是new出来的一定时在堆里面开辟了一个小空间

2. 如果new可多次,那么堆里面有多个小空间,每个小空间中都有各自的数据

温馨提示:

文章标题:2.4 数组的内存图

文章链接:https://www.cutrui.cn/2382.html

更新时间:2023年06月16日

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
Java笔记学习笔记

2.3 数组

2023-6-15 14:13:36

Java笔记学习笔记

2.5 方法

2023-6-20 20:55:28

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

你有新的私信

请务必要查看您的私信哟~~