memory-management - stack heap中文 - 栈和堆是什么,在哪里?

heap memory中文 / memory-management / stack / language-agnostic / heap / dynamic-memory-allocation

编程语言书籍解释了值类型是在堆栈上创建的,而引用类型是在堆上创建的,而没有解释这两种东西是什么。我还没有阅读清楚的解释。我了解堆栈是什么。但,

RajeshKdev



Answer #1

传统上,堆栈和堆位于进程的虚拟地址空间的相对两端。堆栈在访问时会自动增长,直至达到内核设置的大小(可以使用 setrlimit(RLIMIT_STACK, ...) 进行调整)。当内存分配器调用 brk()sbrk() 系统调用,从而将更多的物理内存页面映射到进程的虚拟地址空间时,堆就会增长。