堆VS栈(head vs stack)

堆VS栈(head vs stack)

 

对比

Heap 堆

Stack 栈

1,内存分配方面:

一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收

编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈

2,申请方式

需要程序员自己申请,并指明大小 由系统自动分配

3,大小限制方面

不连续区域,慢

连续区域,快

4,效率方面

是由new分配的内存,一般速度比较慢,而且容易产生内存碎片,不过用起来最方便

由系统自动分配,速度较快。但程序员是无法控制的

 

详细请看:http://www.cnblogs.com/c2303191/articles/1065675.html

http://www.cnblogs.com/lxinxuan/archive/2007/01/24/629582.html

posted @ 2010-03-29 15:16  zxlin25  阅读(532)  评论(0编辑  收藏  举报