摘要: 为了理解这个问题,我们必须首先弄明白“堆”和“栈”的概念。堆区(heap)—— 一般由程序员分配释放(如用new申请的内存), 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式 倒是类似于链表。栈区(stack)—— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 我们构造对象,往往都是在一段语句体中,比如函数,判断,循环,还有就直接被一对“{}”包含的语句体。这个对象在语句体中被创建,在语句体结束的时候被销毁。问题就在于,这样的对象在生命周期中是存在于栈上的。也就是说,如何管理,是系统完成而程... 阅读全文
posted @ 2013-08-07 16:00 burcher 阅读(946) 评论(1) 推荐(1) 编辑