返回信息流网上也看了很多资料但依旧有点迷糊
甚至都有点搞不清楚堆栈、堆、栈是3个独立的概念还是堆栈只是堆和栈放一起说而已 有点小晕
这是一条镜像帖。来源:北邮人论坛 / java / #19461同步于 2011/7/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
谁给解释下堆、栈的区别
didotee
2011/7/22镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
是说内存模型么?
坐等java虚拟机达人解答
【 在 didotee (didotee) 的大作中提到: 】
: 网上也看了很多资料但依旧有点迷糊
: 甚至都有点搞不清楚堆栈、堆、栈是3个独立的概念还是堆栈只是堆和栈放一起说而已 有点小晕
你说的是数据结构中的堆,栈
还是内存中的堆区,栈区
【 在 didotee (didotee) 的大作中提到: 】
: 网上也看了很多资料但依旧有点迷糊
: 甚至都有点搞不清楚堆栈、堆、栈是3个独立的概念还是堆栈只是堆和栈放一起说而已 有点小晕
堆是Heap,栈是Stack,堆栈没有对应的英文,应该指的是栈,我觉得这个翻译很有误导性。
以下是我个人的理解
我觉得堆和栈的最大区别是
栈有FILO(先进后出)的规则限制,这个限制也就导致在应用的时候需要满足一定的条件,
比如说局部变量,局部变量的生存周期是知道的,在函数调用结束后局部变量就失效了,
这种确定性满足栈的条件,所以局部变量放在栈里
至于堆,堆是没有限制的,比如说C中malloc一块内存,malloc之后什么时候free是不知道的
于是这块内存就是放在堆里,什么时候free都可以。
【 在 ox 的大作中提到: 】
: 你说的是数据结构中的堆,栈
: 还是内存中的堆区,栈区
: 【 在 didotee (didotee) 的大作中提到: 】
: ...................
小贝大牛若是不嫌麻烦不防都解释下?
【 在 ox 的大作中提到: 】
: 你说的是数据结构中的堆,栈
: 还是内存中的堆区,栈区
: 【 在 didotee (didotee) 的大作中提到: 】
: ...................
小贝大牛若是不嫌麻烦不防都解释下?