堆,就是内存里的一段为线程执行的“临时空间”。当一个函数被调用时,在堆上面的块儿就为函数局部变量预留出来(还包括其他一些预留数据)。当这个函数结束后,这个块儿就被释放。堆的操作顺序是LIFO,last in first out.
栈是内存中的动态空间。与堆不同,这里不存在某种模式创建或删除空间,也就是说,可以随时创建或删除栈中的空间。
操作系统 或 语言运行时对堆栈的控制程度?
当系统级线程创建后,系统会给它分配堆空间。 语言运行时调用操作系统创建应用程序的栈。
堆,就是内存里的一段为线程执行的“临时空间”。当一个函数被调用时,在堆上面的块儿就为函数局部变量预留出来(还包括其他一些预留数据)。当这个函数结束后,这个块儿就被释放。堆的操作顺序是LIFO,last in first out.
栈是内存中的动态空间。与堆不同,这里不存在某种模式创建或删除空间,也就是说,可以随时创建或删除栈中的空间。
当系统级线程创建后,系统会给它分配堆空间。 语言运行时调用操作系统创建应用程序的栈。