A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

刚学了毕老师讲的栈和堆。我画的图,不知道有没有错,小弟抛砖引玉了。大侠能有最好的理解就别藏着了,告诉小弟吧。

123.JPG (57.77 KB, 下载次数: 13)

123.JPG

3 个回复

倒序浏览
这个数组有个地址值,比如0x0012,int[] arr = new [3],就是把0x0012付给栈内存中的arr。
而每个数组元素也有一个各自的地址值。
调用数组时,我们就是通过操作数组地址来实现的。

地址值你的那个表示可以,但内存中是以二进制形式存在的。我们一般用十六进制表示。
回复 使用道具 举报
我觉得现在还没有必要知道数组是怎么存的,只要知道数组是个地址的引用就行了,里面存了内存的地址。再深的要学要内存的分配,堆、栈内数据分配,数据占用字节,我记得汇编里面好象有,上学时的东西,现在也想不起来了。
数组是引用类型的,System.out.println打印出来的是地址,只能遍历打印数组中的每个值,还在什么请高手补充吧,不对的请拍砖并指证
回复 使用道具 举报
那个地址值,如果是 为了理解可以那么表示,但是一般是用16进制表示,我觉得学习的时候最好还是不不要怕麻烦,尽量用规定的格式来写,不管是代码还是注解,
栈和堆是通过内存地址来联系的,就是栈里面的通过内存地址指向堆,在后面可能会具体学数据在内存中是怎么存的,不过也可能不学,我们只要理解了互相的关系就可以了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马