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

举报
ksh1998 发表于 2021/12/25 23:38:46 2021/12/25
1.2k+ 0 0
【摘要】 前言: 数组也是一种数据类型,并且数组的具体内容是储存在堆上的。也可以换一种思路:所有变量里的具体内容都是储存在堆上的,栈上不储存具体的数据内容,只是把声明的变量名称存在栈上。具体的值是引用堆上的(这也是...

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

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

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


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

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

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

文章来源: kangshihang.blog.csdn.net,作者:康世行,版权归原作者所有,如需转载,请联系作者。

原文链接:kangshihang.blog.csdn.net/article/details/106180216

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。