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

网站做聚合是啥意思武汉搜索推广

网站做聚合是啥意思,武汉搜索推广,安卓市场下载手机版,如何制作广告1.垃圾回收的目的 将未被引用到的对象销毁,回收其所占的内存空间。 2.根对象是什么 全局变量:在编译器就能确定的存在于程序整个生命周期的变量。 执行栈:每个goroutine都包含自己的执行栈,这些执行栈上包含栈上的变量及指向分配…

1.垃圾回收的目的

        将未被引用到的对象销毁,回收其所占的内存空间。

2.根对象是什么

  1. 全局变量:在编译器就能确定的存在于程序整个生命周期的变量。

  2. 执行栈:每个goroutine都包含自己的执行栈,这些执行栈上包含栈上的变量及指向分配的堆内存块的地址。

  3. 寄存器:寄存器的值可能表示一个指针,参与计算的这些指针可能指向某些赋值器分配的堆内存区块。

3.GC回收的过程

GO目前采用的是三色标记法,可以将垃圾回收分为两个阶段:标记阶段和回收阶段

在标记阶段开始的时候,会将所有的对象放置到白色队列中、

之后,从根对象出发扫描所有被引用到的对象,将其放入灰色队列。

然后,从灰色队列中取出待扫描的对象,将其引用到的对象放入灰色队列,并将自身转置到黑色队列中。不断重复这一个步骤,直到灰色队列为空。

标记阶段结束的时候,所有白色对象即为垃圾,是本次GC过程中需要进行回收的。

不过,三色标记法存在缺点,需要在标记阶段停止所有的goroutine,这也就是我们常说的STW。如果用户程序和GC标记并发执行,用户程序可能在标记执行的过程中修改对象的指针,导致将本该死亡的对象标记为存活和本该存活的对象标记为死亡。

为了解决这个问题,go v1.8之后使用混合写屏障技术来支持并发执行。但是仍然会导致程序暂停,不过暂停的的时间缩短至0.5ms以内。

开启写屏障后,指针发生传递和新分配的内存都会进行标记,本轮GC不会回收,下次GC时在确定。虽然写屏障不能完全消除STW,但是可以大大缩短STW的时间。

4.GC触发时机

  1. 内存分配量达到阈值会触发GC

    阈值 = 上次GC内存分配量 * 内存增长额

    在go中的内存增加额由环境变量GOGC控制,默认为100,即内存增长一倍时触发GC

  2. 在堆上创建大于32KB对象的时候,会检测此时是否满足垃圾回收的条件,如果满足则直接进行垃圾回收

  3. 定时触发GC

      默认二分钟开启一次

  4. 主动触发

      程序代码中可以通过runtime.GC()方法主动触发GC

5.GC性能优化

  1. 减少对象分配的个数,采用复用对象或使用大对象组合多个小对象

  2. 在程序开发过程中,尽可能减少内存逃逸现象的发生

http://www.ds6.com.cn/news/119864.html

相关文章:

  • 西安建设教育网站安徽网络seo
  • 网站不能自行备案吗优化推广
  • php网站后台忘记密码网站优化排名查询
  • 万盛网站建设深度搜索
  • 企业网站建设安阳关键词工具网站
  • ftp上传php网站seo优化快排
  • 网站定制开发合同深圳高端网站制作公司
  • 四海网络网站建设建站郑州优化公司有哪些
  • 上海专业做网站网络营销的主要特点有哪些
  • 西乡做网站费用产品营销方案案例范文
  • 做集装箱的网站每天三分钟新闻天下事
  • 手机如何建设网站各种网站
  • 深圳网站建设哪家好宁德市人民政府
  • 知名的网页制作公司多少钱太原seo计费管理
  • 动态excel图表制作教程北京seo公司排名
  • 沈阳专业网站建设公司策划方案网站
  • 爱做网站免费模板vip石家庄最新新闻事件
  • 做网站的基本流程深圳百度网站排名优化
  • 做网站最好的网站建设制作过程
  • flash网站 seo网站发稿平台
  • html5做的篮球网站百度推广开户2400
  • 在线做logo印章网站太原百度快照优化排名
  • 如何建立一个网站及app好搜seo软件
  • 小程序免费模板seo优化对网店的推广的作用为
  • 个人网站建立域名注册查询系统
  • 海口网站建设费用网站优化公司怎么选
  • 西安未央区网站建设比较好的品牌策划公司有哪些
  • 网站制作的基本操作天津天狮网络营销课程
  • 楚雄市住房和城乡建设局网站上海疫情最新消息
  • 知识付费网站源码产品营销方案策划