黑马程序员技术交流社区

标题: 内存功能 [打印本页]

作者: 栗海云    时间: 2013-2-1 22:28
标题: 内存功能
本帖最后由 张向辉 于 2013-2-3 12:10 编辑

栈内存和堆内存都分别用来存储什么?  最近老是不明白这个问题,区分不开,求解答
作者: 陈科宇    时间: 2013-2-1 22:42
这类原理性问题自己查阅详细资料室最好的。三言两语很难说清楚的。
作者: 沈文杰    时间: 2013-2-1 23:23
内存部分是重点,建议画图看,简单说有三个常用的堆内存,栈内存和方法区,在new 对象时,堆内存会给对象分配内存,是一个十六进制的hash 值,这时栈内存中会存放这个地址值,也就我们说的对象的引用,而第三块则是方法区也叫做里面存放着类加载的方法和静态生成员,
作者: 铿锵科技    时间: 2013-2-2 00:03
先不要去理解什么堆内存栈内存,明确你所要引用的对象变量是那个就行了
作者: 黑马刘向阳    时间: 2013-2-2 00:12
你怎么才一个技术分
作者: 栗海云    时间: 2013-2-2 08:33
黑马刘向阳 发表于 2013-2-2 00:12
你怎么才一个技术分

不知道啊  难的问题不会  简单的不给分啊
作者: 逍林游    时间: 2013-2-2 09:05
记住这点就行了:栈是由电脑自己来管理的,程序员不用管,比如声明的基本类型变量都会存储在栈中;
堆需要程序员自己分配、释放内存的,比如new关键字就是分配堆内存,由于java提升了c++的性能,自己有垃圾收集器来管理,所以不像c++一样最后还需要用delete释放内存。
作者: 栗海云    时间: 2013-2-3 11:29
逍林游 发表于 2013-2-2 09:05
记住这点就行了:栈是由电脑自己来管理的,程序员不用管,比如声明的基本类型变量都会存储在栈中;
堆需要 ...

精辟的解释啊




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