堆和栈

作者: 说不出情绪 | 来源:发表于2019-12-18 10:21 被阅读0次

    栈区(stack)由编译器自动分配释放 ,存放方法(函数)的参数值, 局部变量的值等,栈是向低地址扩展的数据结构,是一块连续的内存的区域。即栈顶的地址和栈的最大容量是系统预先规定好的。栈是先进后出的队列。
    堆区(heap)一般由程序员分配释放, 若程序员不释放,程序结束时由OS回收,向高地址扩展的数据结构,是不连续的内存区域,从而堆获得的空间比较灵活。频繁的new/delete势必会造成内存空间的不连续,从而造成大量的碎片,使程序效率降低。

    相关文章

      网友评论

          本文标题:堆和栈

          本文链接:https://www.haomeiwen.com/subject/hxbynctx.html