Java内存划分- - -数组的储存状态

前言:
数组也是一种数据类型,并且数组的具体内容是储存在堆上的。也可以换一种思路:所有变量里的具体内容都是储存在堆上的,栈上不储存具体的数据内容,只是把声明的变量名称存在栈上。具体的值是引用堆上的(这也是每一门编程语言都要研究的堆栈问题)。

数组在堆栈的示意图
在这里插入图片描述
图片右边的三个方块从下往上分别是:

方法区(执行方法必须进栈)
储存.class信息包含方法(具体的方法信息储存在栈里)


进栈:在栈里面给方法开辟一个内存空间,储存变量名称。

堆(通过new 实例化出来的内容都在堆里)
在堆里面给具体的变量开辟一个内存空间,储存具体内容。(数组也是变量)。

地址值:根据地址可以找到具体的内容(也可以赋值)
索引:从0开始,根据索引也可以找到具体的内容。(也可以赋值)

posted @ 2020-05-17 20:47  康世行  阅读(17)  评论(0编辑  收藏  举报