社区
Java SE
帖子详情
Heap 和 stack 有什么区别。
i_doit
2003-12-28 04:09:01
我的基础很不好,
请问 Heap 和 stack 有什么区别。越详细越好!!!
...全文
163
10
打赏
收藏
Heap 和 stack 有什么区别。
我的基础很不好, 请问 Heap 和 stack 有什么区别。越详细越好!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
whxy0144
2003-12-29
打赏
举报
回复
学习学习...
qm0445
2003-12-29
打赏
举报
回复
看看Think in Java
filippo1980
2003-12-29
打赏
举报
回复
堆和站,这东西要搞明白,up
hyhu
2003-12-29
打赏
举报
回复
看看数据结构和Think in Java吧,其实就是实现时的一些必要的内存分配的形式!
fpwang
2003-12-29
打赏
举报
回复
up
Leemaasn
2003-12-29
打赏
举报
回复
lord_tyreal(毒药)
贴的文章说的不错嘛。。
基本上也就是这样。
Heap就是堆。。。每次取一点(按需分配),用完放回去。
Stack是堆栈。。。适用于函数调用。。。如果你学过asm,你会更好地理解它。。。
将“流氓无赖”测试到底。。。
——始于2003年7月
树欲止而风不停,行云流水匆匆去;
树梢蚂蚱凭空望,江边浪花碎巨石;
支持“流金岁月”!!!
——2003年12月24日am
^@^
fantasyCoder
2003-12-29
打赏
举报
回复
java用NEW产生的对象都是放在堆区的,堆区的好处就是灵活,当你要分配多少空
间就申请多少,但是效率比栈低
java的简单类型放在栈区,栈的灵活性不高,但效率较高
Geniusth
2003-12-28
打赏
举报
回复
楼上说的是queue和stack吧
javafounder
2003-12-28
打赏
举报
回复
先进先出,后进先出
lord_tyreal
2003-12-28
打赏
举报
回复
堆和栈的比较
上面的定义从编译原理的教材中总结而来,除静态存储分配之外,都显得很呆板和难以理解,下面撇开静态存储分配,集中比较堆和栈:
从堆和栈的功能和作用来通俗的比较,堆主要用来存放对象的,栈主要是用来执行程序的.而这种不同又主要是由于堆和栈的特点决定的:
在编程中,例如C/C++中,所有的方法调用都是通过栈来进行的,所有的局部变量,形式参数都是从栈中分配内存空间的。实际上也不是什么分配,只是从栈顶向上用就行,就好像工厂中的传送带(conveyor belt)一样,Stack Pointer会自动指引你到放东西的位置,你所要做的只是把东西放下来就行.退出函数的时候,修改栈指针就可以把栈中的内容销毁.这样的模式速度最快,当然要用来运行程序了.需要注意的是,在分配的时候,比如为一个即将要调用的程序模块分配数据区时,应事先知道这个数据区的大小,也就说是虽然分配是在程序运行时进行的,但是分配的大小多少是确定的,不变的,而这个"大小多少"是在编译时确定的,不是在运行时.
堆是应用程序在运行的时候请求操作系统分配给自己内存,由于从操作系统管理的内存分配,所以在分配和销毁时都要占用时间,因此用堆的效率非常低.但是堆的优点在于,编译器不必知道要从堆里分配多少存储空间,也不必知道存储的数据要在堆里停留多长的时间,因此,用堆保存数据时会得到更大的灵活性。事实上,面向对象的多态性,堆内存分配是必不可少的,因为多态变量所需的存储空间只有在运行时创建了对象之后才能确定.在C++中,要求创建一个对象时,只需用new命令编制相关的代码即可。执行这些代码时,会在堆里自动进行数据的保存.当然,为达到这种灵活性,必然会付出一定的代价:在堆里分配存储空间时会花掉更长的时间!这也正是导致我们刚才所说的效率低的原因,看来列宁同志说的好,人的优点往往也是人的缺点,人的缺点往往也是人的优点(晕~).
全文见http://www.21ds.net/article/155.html
heap
和
stack
区别
详解
heap
与
stack
的
区别
, 讲解的很详细了 小细节需要把握仔细了
java中堆(
heap
)和堆栈(
stack
)有什么
区别
java中堆(
heap
)和堆栈(
stack
)有什么
区别
Django 3.x Web框架全解
Django 和其他 Python Web 框架的对比 用于 Python Web 开发的框架有很多,比如 Flask、Bottle、Pyramid、Webpy 等。 1. Django 和 Flask 的对比 Flask 是小而精的微框架(Micro Framework),它不像 Django 那样大...
heap
and
stack
heap
and
stack
深入讲解
heap
and
stack
深入讲解
heap
and
stack
深入讲解
heap
and
stack
深入讲解
heap
and
stack
深入讲解
heap
and
stack
深入讲解
堆(
heap
)与栈(
stack
)的
区别
非常经典的资料,准确描述了C语言中,堆和栈之间的
区别
!是深入理解C语言的好材料
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章