Golang
文章平均质量分 59
Golang 基础及实战
白木Channel
热爱写作,热衷技术,喜欢分享有趣好玩的计算机知识。掘金优质创作者,知乎优质答主,CSDN优质博主,阿里云专家博主,华为云云享专家
展开
-
Go基础:逃逸分析
逃逸分析,是一种可以有效减少程序中同步负载和内存堆分配压力的跨函数全局数据流分析算法。通过逃逸分析,编译器能够分析出一个新的对象的引用的使用范围从而决定是否要将这个对象分配到堆上。 逃逸分析(Escape Analysis)算是目前比较前沿的优化技术了。 如果函数外部没有引用,则优先放到栈中如果函数外部存在引用,则必定放到堆中如果栈上放不开,则必定放到堆上 参考资料:Golang——变量逃逸_多喝氧烷_的博客-CSDN博客_golang 变量逃逸......原创 2022-06-17 17:08:30 · 128 阅读 · 0 评论 -
Go基础系列:垃圾回收GC原理
目录自动内存管理专有名词三种GC算法方式常用GC实现方法1.追踪式 GC1.1实现步骤1.2清理方式 1.3分代GC2.引用计数式 GC2.1概念基本概念三个任务Mutator: 业务线程(即用户启动的线程,包括goroutine),分配新对象,修改对象指向关系Collector: GC 线程,找到存活对象,回收死亡对象的内存空间Serial GC: 只有一个 collectorParallel GC: 并行 GC,支持多个 collectors 同时回收的 GC 算法Concurrent GC: 并发 G原创 2022-06-10 09:08:37 · 108 阅读 · 0 评论 -
Go基础系列:panic和recover
在协当中一旦触发panic(宕机),将从 panic处终止程序进行,同时调用该panic调调用栈上的所有defer,执行defer中若无recover,则exit退出在panic调用栈defer中有recover则原创 2022-06-06 10:12:28 · 480 阅读 · 0 评论