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

内存分配方式

  1. 栈是高地址向低地址扩展, 是一块连续的内存区域、堆是地地址向高地址分配, 不连续的内存区域
  2. 栈是系统自动分配空间, 堆需要手动分配
  3. 栈上的数据在函数结束后自动释放, 堆上的数据如果不释放, 一直能访问, 可能会造成内存泄漏
  4. 栈是先进后出, 不会有内存碎片问题, 堆如果频繁的new/delete 会造成内存空间不连续, 造成大量碎片
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...
    yunpiao阅读 5,452评论 1 22
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,159评论 1 32
  • 本文基于工作项目开发,做的整理笔记前段时间公司有的小伙伴刚开始学习vue,就直接着手用在新项目上,以项目实战步步为...
    SeasonDe阅读 1,872评论 6 7
  • 半月后,太晨宫中忙碌了起来。东华帝君次子的满月宴是近些年来神族最大的喜宴。在操办过帝君的成婚宴后,重霖再度亲手操持...
    西西惟亚阅读 4,704评论 4 75
  • 晚7—9点,心包经当令。给自己创造一个准备安然入睡的条件,这个时辰最好不要剧烈的活动, 否则容易失眠,而最好的运动...
    小欣_45e7阅读 746评论 0 0