• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

11.笔记go语言——内存分配器

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

11.笔记go语言——内存分配器

           内存分配器,又叫做MemoryAllocator.

           核心:自主管理,缓存复用,无锁分配。

内存管理以页为基本单位,多个地址连续页构成内存块。

页是page, 连续页是span.

按 8 倍数,将小对象分成多种大小规格。size class.

三级管理机构

三级管理机构如下图1

算法依赖连续地址,预留较大地址空间。如下图2

按页保存 span指针。

反查 object 所属 span。

检查相邻 span 是否可合并。

快速分配,按需扩张。

如下图3

垃圾回收

垃圾回收器引发回收操作。如下图4

为管理对象分配内存,不占用预留地址

图5:

 

 

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[系列]Go-学习grpc.Dial(targetstring,opts…DialOption)的写法发布时间:2022-07-10
下一篇:
go依赖包管理工具gb安装报错发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap