golang的gc回收针对堆还是栈?变量内存分配在堆还是栈?
这里不讲垃圾回收的机制 先给出三个结论: golang的垃圾回收是针对堆的(垃圾回收都是针对堆的,这里只是做一个简单的证明) 引用类型的全局变量内存分配在堆上,值类型的全局变量分配在栈上 局部变量内存分配可能在栈上也可能在堆上 堆和栈的简单说明: 1.栈(操作系统):由操作系统自动分配释放 2.堆(操作系统): 一般由程序员分配释放,例如在c/c++中,在golang,java,python有自动的垃圾回收机制 我们都知道变量占有内存,内存在底层分配上有堆和栈。 值类型变量的内存通常是在栈中分配 引用类型变量的内存通常在堆中分配 注意这里说的是通常,因为变量又分为局部变量和全局变量。 当变
下载地址
用户评论