golang:内存管理策略
申请一块较大的地址空间(虚拟内存),用于内存分配及管理(golang:spans+bitmap+arena->512M+16G+512G)
当空间不足时,向系统申请一块较大的内存,如100KB或者1MB
申请到的内存块按特定的size,被分割成多种小块内存(golang:_NumSizeClasses = 67),并用链表管理起来
创建对象时,按照对象大小,从空闲链表中查找到最适合的内存块
销毁对象时,将对应的内存块返还空闲链表中以复用
空闲内存达到阈值时,返还操作系统
golang学习过程
最新推荐文章于 2022-07-02 19:55:04 发布