美文网首页
iOS 中堆和栈的区别

iOS 中堆和栈的区别

作者: LT_9999 | 来源:发表于2023-11-11 21:20 被阅读0次

    总结区别
    按管理方式分
    对于栈来讲,是由系统编译器自动管理,不需要程序员手动管理
    对于堆来讲,释放工作由程序员手动管理,不及时回收容易产生内存泄露
    按分配方式分
    堆是动态分配和回收内存的,没有静态分配的堆
    栈有两种分配方式:静态分配和动态分配
    静态分配是系统编译器完成的,比如局部变量的分配
    动态分配是有alloc函数进行分配的,但是栈的动态分配和堆是不同的,它的动态分配也由系统编译器进行释放,不需要程序员手动管理
    一位网友用10个字总结了堆和栈的区别
    栈是吃了吐 堆是吃了拉
    也就是栈是先进后出,堆是先进先出

    相关文章

      网友评论

          本文标题:iOS 中堆和栈的区别

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