黑马程序员技术交流社区

标题: 堆和栈 [打印本页]

作者: 蔡军    时间: 2012-3-23 23:59
标题: 堆和栈
求解堆和栈的含义,它们俩的区别?
作者: →篱誸de~箭    时间: 2012-3-24 00:58
栈区(stack)由编译器自动分配释放,存放函数的参数企,局部变量的值等。其操作方式类似于数据结构中的栈
堆区(heap)由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。
作者: 蔚强    时间: 2012-3-24 11:09
     假如你定义了一个类Person 实例化的时候Person p=new Person();//我们这里使用它的默认构造函数,首先实例化的p是一个变量,它存放在栈区,是用new运算符申请的内存区域在堆区,你实例化的那个变量p指向了new 申请的内存区域。我们写的代码除了在堆区跟栈区还有静态常量区,比如我们利用const声明的变量就是在静态常量区。
作者: 蔚强    时间: 2012-3-24 11:10
   如果那里描述的不对或者不够准确你及时告诉我,共同进步!




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