关于堆和栈 stack & heap(2)

堆,就是内存里的一段为线程执行的“临时空间”。当一个函数被调用时,在堆上面的块儿就为函数局部变量预留出来(还包括其他一些预留数据)。当这个函数结束后,这个块儿就被释放。堆的操作顺序是LIFO,last in first out.

栈是内存中的动态空间。与堆不同,这里不存在某种模式创建或删除空间,也就是说,可以随时创建或删除栈中的空间。

操作系统 或 语言运行时对堆栈的控制程度?

当系统级线程创建后,系统会给它分配堆空间。 语言运行时调用操作系统创建应用程序的栈。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • “text segment ”是应用程序运行时应用程序代码存在的内存段。每一个指令,每一个单个函数、过程、方法和执...
    紫云夕月阅读 12,045评论 4 20
  • 数据结构 栈就像装数据的桶或箱子它是一种具有后进先出性质的数据结构,也就是说后存放的先取,先存放的后取。 这就如同...
    小李不木阅读 5,324评论 0 0
  • 问题描述 编程语言书籍中经常解释值类型被创建在栈上,引用类型被创建在堆上,但是并没有本质上解释这堆和栈是什么。我仅...
    波波维奇popovich阅读 2,224评论 1 3
  • 原文:http://stackoverflow.com/questions/79923/what-and-wher...
    toplee阅读 4,404评论 0 1
  • The Art of Leading a Small Group There’s been a lot writt...
    宁宁2018阅读 4,296评论 0 1