黑马程序员技术交流社区

标题: 刚学的我理解的栈和堆,不知道画的对不对,抛砖引玉了 [打印本页]

作者: 京鱼龙    时间: 2012-7-10 23:56
标题: 刚学的我理解的栈和堆,不知道画的对不对,抛砖引玉了
刚学了毕老师讲的栈和堆。我画的图,不知道有没有错,小弟抛砖引玉了。大侠能有最好的理解就别藏着了,告诉小弟吧。

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

123.JPG

作者: 朱东方    时间: 2012-7-11 00:15
这个数组有个地址值,比如0x0012,int[] arr = new [3],就是把0x0012付给栈内存中的arr。
而每个数组元素也有一个各自的地址值。
调用数组时,我们就是通过操作数组地址来实现的。

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2