美文网首页
《iOS面试题整理》- 堆和栈的区别

《iOS面试题整理》- 堆和栈的区别

作者: 小木头 | 来源:发表于2019-01-22 16:17 被阅读5次

    内存分配方式

    1. 栈是高地址向低地址扩展, 是一块连续的内存区域、堆是地地址向高地址分配, 不连续的内存区域
    2. 栈是系统自动分配空间, 堆需要手动分配
    3. 栈上的数据在函数结束后自动释放, 堆上的数据如果不释放, 一直能访问, 可能会造成内存泄漏
    4. 栈是先进后出, 不会有内存碎片问题, 堆如果频繁的new/delete 会造成内存空间不连续, 造成大量碎片

    相关文章

      网友评论

          本文标题:《iOS面试题整理》- 堆和栈的区别

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