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

云南网站做的好的公司为什么推荐企业做网站

云南网站做的好的公司,为什么推荐企业做网站,搬瓦工服务器用来做网站,a8直播免费版💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

   💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。



非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨
 

前言

小郑最近在准备Go语言的面试题,通过github和b站等各种学习网站上学习go语言的八股文,并且整理出自己觉得面试可能会问到的知识点,希望通过做笔记的方式来巩固自己的知识点,并且也希望可以帮助到大家在面试的时候更加得心应手一些,那么从现在开始,和我一起加入八股学习之旅吧!

回答重点

逃逸分析是编译器优化的一部分,用来决定对象应该分配在栈上还是堆上。

在 Go 语言中,编译器会在编译期间进行逃逸分析,通过分析代码中的变量确定它们是否会“逃逸”出当前的作用域。

如果一个变量在函数或方法内被创建,但在函数外部仍然被引用,那么它将被称为“逃逸”,需要分配到堆上;否则,它将被分配在栈上。

栈分配和堆分配的区别:

栈分配的好处是分配和释放内存的开销非常小,速度快。

堆分配需要依赖垃圾回收器(GC)来管理内存,因此开销相对较大。

逃逸分析的过程

逃逸分析由编译器在编译期间进行,它检查每一个变量的使用情况。编译器根据变量的作用范围、生命周期、以及变量是否被传递给其他协程或返回到外部等来确定其是否逃逸。

主要的原则包括:

  • 若变量的生命周期超出当前函数,则视为逃逸。
  • 若变量被引用并存储到堆上,则视为逃逸。

变量本来应该存在栈上(即是局部的,生命周期只在当前函数内),但是它被引用到堆上,意味着它的生命周期会超出当前函数的作用域,可能会继续存在下去。这就发生了“逃逸”。

  • 若变量被传递给外部函数、方法或 goroutine,且存活时间可能超过当前函数,则视为逃逸。

package mainimport "fmt"func escapeExample() *int {x := 42       // 局部变量 xreturn &x     // 返回 x 的地址,x 发生逃逸,分配到堆上
}func stackExample() int {x := 42       // 局部变量 xreturn x      // x 没有逃逸,分配在栈上
}

由于 Go 语言的内存模型,如果你将一个局部变量的地址返回,这个变量的生命周期就会被延长。

Go 编译器会认为 x 的生命周期不能仅限于函数 escapeExample 的作用域,因为返回的地址可能会在函数外部被引用。因此,Go 会把 x 从栈上移动到堆上,并确保它的生命周期持续足够长。

return x 返回了 x 的值,而不是返回 x 的地址。 在这种情况下,x 的值被复制到了调用者的栈上,这意味着 x 并没有逃逸到堆上。它依然只在函数内部有效,并且在函数调用结束后会被销毁。

逃逸分析的优化技巧

返回指针,闭包捕获,接口赋值,动态类型转换等会导致变量逃逸。

1,避免不必要的指针返回:如果可能,返回值而不是返回指针。

2,减少闭包对变量的引用:避免在闭包中使用外部变量,尽量将变量传递给闭包。

3,游免接口赋值:使用具体类型代营接口,减少逃逸到堆的可能性。

❤️❤️❤️小郑是普通学生水平,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

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

相关文章:

  • 网站开发运营推广叫什么软件建设工程施工合同司法解释二
  • 休闲食品网站建设目的网址之家大全
  • 地区性门户网站是什么意思韶关市开发区建设局网站
  • 微信24小时网站建设陕西省住房和城乡建设厅网站上查询
  • 做婚纱网站的图片素材高端响应式网站建设
  • 网站转换模块怎么做网站后台全能模板
  • 建设网站空间选择北京官方网站网
  • 无网站网络营销装修公司设计软件有哪些
  • 做网站费免图片网站asp网站栏目修改
  • 网站制作的基本wordpress配置文件数据库连接
  • 帝国做网站网站管理和建设工作职责
  • 物流行业网站建设方案桂林到阳朔怎么走最方便
  • 新闻类网站怎么做百度推广网站网页设计前言
  • 提供网站建设空间常熟市住房和城乡建设局网站
  • 模板网站开发注意事项郑州网站建设公司航迪软件怎么样
  • 同一个地方做几个网站企业做网站收费
  • 网站源码上传服务器了怎么做大气dede织梦企业广告网络公司工作室网站模板源码
  • 深圳网站建设公司麦网站友情链接很重要吗
  • 邢台企业做网站推广荥阳网站制作
  • php网站开发计划wordpress 文章二维码
  • 衣联网和一起做网站 哪家强福田蒙派克
  • 创造一个网站通信部门网站备案证明
  • 电脑做视频的网站比较好企业名录黄页大全
  • 中山网站建点域名注册地址查询
  • 前程无忧网站开发待遇怎么样下载软件网站
  • 做网站界面多少钱专门做旅游的网站
  • wordpress网站存放在北京室内设计师电话
  • 点开图片跳到网站怎么做足球亚洲排名最新排名
  • 二手车网站制作贵吗备案用的网站建设方案书
  • 申请网站建设费用的请示做什爱网站