当前位置: 首页 > news >正文

音乐设计网站推荐个人博客图片

音乐设计网站推荐,个人博客图片,合肥市门窗工程在哪个网站接活做,中山网站运营golang内存管理基本是参考tcmalloc来进行的。go内存管理本质上是一个内存池,只不过内部做了很多优化:自动伸缩内存池大小,合理切割内存块。 基本概念: Page:页,一块 8 K大小的内存空间。Go向操作系统申请和…

golang内存管理基本是参考tcmalloc来进行的。go内存管理本质上是一个内存池,只不过内部做了很多优化:自动伸缩内存池大小,合理切割内存块

 

基本概念:

Page:页,一块 8 K大小的内存空间。Go向操作系统申请和释放内存都是以页为单位。

span:内存块,一个或多个page组成一个span。如果把page比喻成工人,span可以看成是小队,工人被分成若干个队伍,不同的队伍干不同的活。

sizeclass:空间规格,每个span都带有一个sizeclass,标记着该span中的 page 应该如何使用。使用上面的比喻,就是sizeclass标志着 span 是一个什么样的队伍。

object:对象,用来存储一个变量数据内存空间,一个span在初始化时,会被切割成一堆等大的object。假设object的大小是 16B,span大小是 8K,那么就会把 span 中的 page 共初始化为 8k/16B = 512 个 object。所谓内存分配就是分配一个object出去。

mheap

一开始 go从操作系统索取一大块内存作为内存池,并放在一个叫mheap的内存池进行管理,mheap将一整块内存切割为不同的区域,并将每一部分内存切割为合适的大小。

 mheaps.spans:用来存储 page 和 span 信息,比如每一个 span 的起始地址是多少,有几个 page ,已使用了多少page等等

mheap.bitmap:保存arena对应的某个地址是否存在对象,以及对象是否被gc扫描过,主要用于gc

mheap.arena_start:将要分配给应用程序使用的空间(由一个个page组成)。


mcentral

用途相同的 span 会以链表的形式组织在一起存放在 mcentral 中。这里用途用sizeclass来表示,就是该 span 存储到哪种大小的对象。

找到合适的 span 后,会从中取出一个 object 返回给上层使用


 

mcache

为了提高内存并发申请效率,加入缓存层mcache。每一个mcache和处理器P对应。Go申请内存首先从P的mcache中分配,如果没有可用的span再从mcentral中获取。

 

http://www.yayakq.cn/news/144095/

相关文章:

  • 中石油工程建设公司网站微商城网站建设推广
  • 建设一个网站需要注意的事项wordpress中文分类问题
  • 网站开发创意设计想自己做网站怎么做
  • 网站开发公司广告文案阿克苏地区住房和城乡建设局网站
  • 连云港网站制作常用开发工具
  • 简单的电影网站模板相城做网站的公司
  • 广东哪家网站建徐汇集团网站建设
  • 网站建设要钱么wordpress 中文用户
  • 用自己的手机做网站网站设计 深圳
  • 宁波专业定制网站建设宣传片企业拍摄公司
  • 石家庄手机网站建设公司青岛网页设计公司报价单
  • 宁波网站建设专业定制易优系统助手插件
  • 网站制作流程是什么做网站友汇网
  • 小程序登录授权东莞网站建设优化企业
  • 自建服务器做网站重庆seo海洋qq
  • 轻量级网站开发网站栏目设计规划表
  • 专业门户网站建设国外网站开发公司
  • 网站购买云空间WordPress无图片主题
  • 建网站书籍个人主题网站
  • 郑州建设网站企业定制手机百度2022年新版本下载
  • 泉州seo网站排名怎样做自己的网站
  • 网站开发工作总结wordpress 购物车插件
  • 自己做网站哪里最好视频直播app开发费用
  • 电商网站 手续网站的设计流程
  • 个人网站营业执照专业网站的公司
  • 哪公司建设网站模板堂网站源码
  • 面包店网站建设论文营销管理制度范本
  • 网站空间升级通知黑马程序员学费多少钱
  • wordpress发卡模板上海seo推广价格
  • 网站备案 自己的服务器电子商务网站建设干货