
golang
文章平均质量分 79
Yasen^o
这个作者很懒,什么都没留下…
展开
-
go-map+sync.map的底层原理
1.拉链法2.开放地址法。原创 2025-04-19 15:01:54 · 874 阅读 · 0 评论 -
Go-gc垃圾回收机制
首先要进行STW(stop the word - 程序暂停)标记清除算法(Mark Sweep Algorithm),包括标记(Mark)和清除标记阶段:从根对象开始,查找并标记堆中所有存活的对象清除阶段:遍历堆中所有对象,回收未被标记的对象三色标记法将程序中的对象分为三类:白色、灰色和黑色白色:在回收开始阶段,所有对象都标记为白色;在回收结束后,所有白色对象均不可达,其内存将被释放灰色:已被垃圾收集器访问到的对象,是一种中间状态。原创 2025-04-11 22:08:43 · 701 阅读 · 0 评论 -
Go-Channel总结
1.定义一个有缓冲channel让一个协程读取元素并打印2.定义一个无缓冲channel让一个协程读取元素并打印3.channel与for range的联合使用4.使用双向channel和单向channel,定义一个读channel和一个写channel5.给定一个slice arr[1,7,9,-88,26,9] 子协程求前半部分的和放入管道,父协程求后半部分和最后分开打印结果。原创 2025-04-10 16:32:58 · 277 阅读 · 0 评论 -
go语法基础-context+select+定时器
标准库的接口包含四个方法设置了context被取消的时间返回一个 只读Channel,当Context被取消或者到达截止时间,这个 Channel 就会被关闭,表示Context的链路结束,多次调用Done 方法会返回同一个 Channe返回 context.Context 结束的原因,它只会在 Done 返回的Channel 被关闭时才会返回非空的值,返回值有以下两种情况1.如果 是context.Context 被取消,返回 Canceled。原创 2025-04-10 16:31:43 · 222 阅读 · 0 评论