技术栈
go 内存模型
a18792721831
1 年前
golang
·
go
·
go 内存管理
·
go sdk源码
·
go 内存模型
Go-知识内存分配
在c语言中,malloc方法用于动态申请内存,其中内存分配器使用的是glibc提供的ptmalloc2。除了glibc,业界比较出名的内存分配器有Google的tcmalloc和Facebook的jemalloc, 二者在避免内存碎片和性能上均比glibc有比较大的优势,在多线程环境中效果更明显。 Go语言也实现了内存分配器,原理与tcmalloc类似,简单说就是维护一块大的全局内存,每个线程(Go中为处理器P)维护一块小的私有内存,私有内存不足时,再从全局申请。