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

vs2010怎么做网站广告推广费用一般多少

vs2010怎么做网站,广告推广费用一般多少,阿里云有主体新增网站,投资公司网站模板文章目录 关于 Golang GC 机制的一些细节:什么是根对象?GC 机制的触发时机?简要回顾 Golang GC 三色标记法的工作流程什么是根对象?GC 的触发时机? 关于 Golang GC 机制的一些细节:什么是根对象&#xff1f…

文章目录

  • 关于 Golang GC 机制的一些细节:什么是根对象?GC 机制的触发时机?
    • 简要回顾 Golang GC 三色标记法的工作流程
    • 什么是根对象?
    • GC 的触发时机?

关于 Golang GC 机制的一些细节:什么是根对象?GC 机制的触发时机?

在这里插入图片描述
之前我已经先后通过两篇文章对 Golang 的 GC 机制进行了介绍,主要包括 GC 的三色标记法以及 Golang GC 的写屏障,有兴趣的同学可以前往查看:

  • 【每日八股】Golang篇(五):垃圾回收
  • Golang 的垃圾回收机制

通过本篇文章,我们继续深挖一下 Go 的 GC 机制当中的一些细节,比如什么是根对象?GC 触发的时机是什么时候?在深挖细节之前,我们不妨简单回顾一下三色标记法的工作流程。

简要回顾 Golang GC 三色标记法的工作流程

  1. 在初始阶段,所有对象都会被标记为白色;
  2. 从根对象出发,将所有根对象及其引用的对象标记为灰色,并放入到待处理队列当中;
  3. 不断地从对头当中取出元素,并标记为黑色,同时将该元素引用的对象加入到待处理队列当中。

通过对第三步的待处理队列进行循环往复的检查,直到队列为空,当前存活的对象都将被标记为黑色,在 GC 期间新建的对象或新建立的引用关系先被标记为灰色。此时,所有白色的对象都是过期的对象,会被删除回收。

什么是根对象?

在面试当中如果被问到“能不能简单介绍一下 GC 原理”,我们介绍一下三色标记法的流程和写屏障机制,但如果面试官深挖:“三色标记法当中的根对象指的是什么?”,如果没有深挖过这部分细节,我们大概率是回答不上来的。

因此,我们首先深挖一下,GC 机制在开始时「从根对象出发将根对象及其引用标记为灰色并放入队列」当中的「根对象」指的到底是什么。

根对象是 GC 遍历的起点,所有从根对象直接或间接可达的对象都会被标记为存活,而不可达的对象会被回收。根对象主要包括:

  • 栈上的对象:所有 Goroutine 栈上的变量(局部变量、参数等);
  • 全局变量:程序中的全局变量(存储在静态数据区);
  • 寄存器中的对象:当前执行的代码可能通过寄存器引用对象;
  • 运行时数据结构:例如 runtime 包中的特殊对象。

上述根对象是第一批进入待处理队列的灰色对象,后续会递归地遍历它们引用的全部对象。如果在面试中被问到,能回答出:“Goroutine 栈上的对象,包括局部变量和参数,以及全局变量”就已经是比较完美的答案了,我们在学习 GC 机制时,至少要记住这两项是根对象的一部分。

GC 的触发时机?

和根对象一样,如果在面试时面试官深挖我们对 GC 的理解,可能会问到 GC 的触发时机有哪些,在此提前学习一下。

Golang 的 GC 是「并发标记-清扫」机制,触发条件由运行时动态决定,主要基于以下规则:

  1. 自动触发:当堆当中存活的对象大小(Live Heap)达到上一次 GC 结束后对内存的某个比例时触发 GC,默认由环境变量 GOGC 控制(默认值为 100,即堆内存增长100%时触发,比如上次 GC 后堆内存为 100 MB,GOGC=100 时,堆内存达到 200 MB 时触发新一轮 GC)。
  2. 手动触发:显式调用 runtime.GC() 强制触发一次完整的 GC,通常用于性能测试或内存泄露调试。
  3. 系统监控强制触发:如果 Goroutine 长时间未执行 GC,系统监控会强制触发 GC,避免内存无限增长。
  4. 其他特殊情况:内存分配器发现堆内存碎片化严重时,可能提前触发 GC。

在面试时如果我们能回答上来:“GC 有以下几种触发情况,第一种是在当前堆内存增长达到上一次 GC 触发后内存的某个比例时,自动触发,比例参数由 GOGC 控制,默认为 100%,比如上一次 GC 之后堆内存为 100 MB,此时如果堆内存增长到 200 MB,即增长了 100%,就会自动触发 GC。第二种是显式调用运行时函数来强制触发 GC。第三种是当 goroutine 检测到很长时间没有触发 GC 时,会触发 GC 以避免内存无线增长。最后一种情况是当堆内存碎片化严重时,会触发 GC。”当中的几条,就已经是很优秀的回答了。

http://www.dtcms.com/wzjs/123348.html

相关文章:

  • 高校网站建设工作总结百度相册登录入口
  • 网站建设合作互联网营销的十五种方式
  • 网站里会自动换图怎么做网络营销方法有哪些举例
  • 长春做网站选长春万网合肥百度网站排名优化
  • 网站地图制作视频教程个人网站设计模板
  • 重庆做网站开发的公司有哪些哪家公司做推广优化好
  • 公司做网站有什么用代写稿子的平台
  • 梅州建设公司网站济南最新消息今天
  • 提供定制型网站建设微信营销推广方案
  • 诸城做网站公司网页制作软件哪个好
  • 优秀的电子商务网站seo包年优化
  • 阿里云除了做网站还能用来干什么外贸平台
  • 网站背景图片优化好的seo网站
  • 上海地产网站建设今日冯站长之家
  • 网站建设 知识库中国重大新闻
  • 名气特别高的手表网站平台怎样推广
  • 越南做购物网站百度指数怎么查
  • 网站不绑定域名解析汽车营销策划方案ppt
  • 网站搜索下拉是怎么做的免费网站安全软件大全游戏
  • 网页小游戏网站有哪些百度推广客户端下载安装
  • 网页制作与网站建设填空题百度大数据官网
  • 重庆信息门户网站武汉seo服务外包
  • 流浪猫狗救助网站开发设计外贸接单平台网站
  • 图片搜集网站怎么做网络热词2022
  • 网站建设联系电话域名服务器ip查询网站
  • 知道源码做网站网络平台营销
  • 泊头哪有哪家做网站做的号百度手机助手应用商店
  • 在网站上保存网址怎么做百度排名竞价
  • 做外贸的免费网站网络营销推广策划方案
  • 福永自适应网站建设潍坊百度关键词优化