堆和栈

堆和栈都是运行时内存中分配的一个数据区,因此也被称为堆区和栈区,但是二者存储的数据类型和处理速度不同。

堆(heap) 用于为复杂数据类型分配空间,例如数据对象,Object对象。 它是在运动时动态分配内存的,因此存取速度比较慢。

栈(stack)中主要存放一些基本类型的变量和对象的应用。其优势是存取速度比堆要快,并且栈内的数据可以共享。但缺点是存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。栈有一个很重要的特性,就是存在栈中的数据可以共享。

posted @ 2012-02-19 21:56  甲今文  阅读(208)  评论(0编辑  收藏  举报