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

2019-01-22  本文已影响5人  小木头

内存分配方式

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

猜你喜欢

热点阅读