内存对其了解吗?

参考解析

题目来源:知乎

答案:

go语言的内存分配是基于tcmalloc模型的.

go语言跟大多数内置运行时(runtime)的编程语言一样,抛弃传统内存分配的方式,改为自己管理。这样可以完成类似预分配、内存池等操作,以闭开系统调用带来的性能问题,防止每次分配内存都需要系统调用。

go的内存分配的核心思想分为以下几点:

每次从操作系统申请一大块内存,由go来对这块内存做分配,减少系统调用。
内存分配算法采用Google的TCMalloc算法。
回收对象内存时,并没有将其真正地释放掉,只是放回预先分配的大块内存中,以便复用。只有内存闲置过多的时候,才会尝试归还部分内存给操作系统,整体降低开销。