栈是吃了吐 堆是吃了拉

Posted wzl666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了栈是吃了吐 堆是吃了拉相关的知识,希望对你有一定的参考价值。

堆栈:

 

按管理方式分

  • 对于栈来讲,是由系统编译器自动管理,不需要程序员手动管理
  • 对于堆来讲,释放工作由程序员手动管理,不及时回收容易产生内存泄露

 

按分配方式分

  • 堆是动态分配和回收内存的,没有静态分配的堆
  • 栈有两种分配方式:静态分配和动态分配

 

静态分配是系统编译器完成的,比如局部变量的分配

动态分配是有alloc函数进行分配的,但是栈的动态分配和堆是不同的,它的动态分配也由系统编译器进行释放,不需要程序员手动管理

 

以上是关于栈是吃了吐 堆是吃了拉的主要内容,如果未能解决你的问题,请参考以下文章

服务端循环链接请求来收发消息

OC中栈区与堆区的内存概念解析

一个无所事事的端午,一个必须要做的决定

为啥tomcat启动一段时间后就死了呢

编程的那些小事

五一游记