黑马程序员技术交流社区

标题: 到底什么是栈什么是堆? [打印本页]

作者: fc389119336    时间: 2015-5-5 07:14
标题: 到底什么是栈什么是堆?
到底什么是栈什么是堆?完全不知道在讲什么
作者: 鱼饵    时间: 2015-5-5 08:05
电脑中有一片区域叫内存区。我们把内存区比作一片田,那么在这片田(内存)里,画了一小块田(栈内存区)种土豆(存放变量),在画一块田(堆内存区)种番茄(存放对象和成员变量),在画一小块田(方法区)种黄瓜(存放成员方法和静态属性及方法)。
作者: 19886wang    时间: 2015-5-5 08:27
鱼饵 发表于 2015-5-5 08:05
电脑中有一片区域叫内存区。我们把内存区比作一片田,那么在这片田(内存)里,画了一小块田(栈内存区)种 ...

好生动~~
作者: 淡定..    时间: 2015-5-5 10:22
鱼饵 发表于 2015-5-5 08:05
电脑中有一片区域叫内存区。我们把内存区比作一片田,那么在这片田(内存)里,画了一小块田(栈内存区)种 ...

呵呵,我也想说你说的好理解哈
作者: smile78356    时间: 2015-5-5 11:05
堆和栈都是内存中存放数据的地方。堆内存用来存放运行时创建的对象,一般通过new关键字创建的对象都存放在堆内存中;栈主要是用来执行程序的。
作者: 陈国安    时间: 2015-5-5 12:07
鱼饵 发表于 2015-5-5 08:05
电脑中有一片区域叫内存区。我们把内存区比作一片田,那么在这片田(内存)里,画了一小块田(栈内存区)种 ...

解释的太生动了。
作者: zhubingg    时间: 2015-5-8 22:05
嗯嗯  解释的不错
作者: ssc911361    时间: 2015-5-8 22:09
就是内存块,划分为不同区域。只是命名不一样
作者: zy18692243338    时间: 2015-5-8 23:01
堆就是new出来的对象所存储的区域(成员变量,方法)
作者: 我干阿衰    时间: 2015-5-9 11:58
堆和栈都是内存中存放数据的地方。堆内存用来存放运行时创建的对象,一般通过new关键字创建的对象都存放在堆内存中;栈主要是用来执行程序的。
作者: iverson    时间: 2015-5-9 11:59
内存的一部分,功能不一样吧
作者: Troy-Fu    时间: 2015-5-9 12:37
Java 程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。栈 :存储局部变量;堆 :存储new出来的东西;方法区 ;本地方法区 (和系统相关);寄存器 (给CPU使用).从生命周期看,栈中的变量随着方法出栈而死亡,堆中的东西在死亡后会等着收垃圾,存在时间较长

作者: _hy    时间: 2015-5-9 12:48
电脑中有一片区域叫内存区。我们把内存区比作一片田,那么在这片田(内存)里,画了一小块田(栈内存区)种土豆(存放变量),在画一块田(堆内存区)种番茄(存放对象和成员变量),在画一小块田(方法区)种黄瓜(存放成员方法和静态属性及方法)。

涨姿势了




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