Golang:内存分配和垃圾回收

堆和栈区别 空间分配区别: 栈:由操作系统(编译器)自动分配释放,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构中的栈。 堆:一般由代码分配释放,若代码没有显式释放,程序结束时可能由OS回收,分配方式类似链表。 缓存方式区别: 栈:使用的是一级缓存,通常都是被调用时处于存储空间中,调用完毕立即释放。 堆:存放在二级缓存中,生命周期由垃圾回收算法来决定。 数据结构区别: 栈:先进后出的线
相关文章
相关标签/搜索