黑马程序员技术交流社区

标题: 关于 内存 和 变量的问题。。 [打印本页]

作者: 郭小伟    时间: 2012-12-22 21:10
标题: 关于 内存 和 变量的问题。。
请教:内存只是对变量;或者说,程序就是对变量的操作,从而通过内存来运行程序;或者说,程序是通过操作内存中的变量来运行的。
这样理解对吗?

作者: 董将    时间: 2012-12-22 22:20
你这直接就写上内存范围就有点大了,内存一共分成5个区,我们主要用的是堆区,栈区,方法区这几个区,其他的补怎么使用,因而就不多说这个了,程序的运行首先是java虚拟机读取main函数,这个时候就产生了一个压栈的动作,main函数压栈之后,就会根据你所写的程序一步步的向下运行,前边跟你说过成员变量和引用数据类型的问题,如果下边是一个引用数据类型的话就会出现压栈,而main函数的动作就是弹栈操作,可以理解为栈区操作一次只针对一个对象,引用对象来了,其他的就要出去,这个时候在堆区创建一个空间,并将一个地址值赋给这个引用,然后依次往下继续走程序,不知道这么解释你能不能明白?如果补明白再单独问我,一起讨论。
作者: 王靖雯    时间: 2012-12-24 15:08
变量都是放在内存中的,内存中专门有一定的区域放置这些变量,不同的变量放在不同的区,当程序运行时,系统会向内存中来取这些变量,这是由操作系统帮我们完成
作者: 阮佳佳    时间: 2012-12-24 16:15
内存一共分成5个区,堆区,栈区,方法区等,程序的运行首先是虚拟机读取main函数,这个时候就产生了一个压栈的动作,main函数压栈之后,就会根据你所写的程序一步步的向下运行,前边跟你说过成员变量和引用数据类型的问题,如果下边是一个引用数据类型的话就会出现压栈,而main函数的动作就是弹栈操作,可以理解为栈区操作一次只针对一个对象,引用对象来了,其他的就要出去,这个时候在堆区创建一个空间,并将一个地址值赋给这个引用,然后依次往下继续走程序。




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