
go
文章平均质量分 86
zp0int
这个作者很懒,什么都没留下…
展开
-
go string 实现
go string 实现原创 2021-12-17 20:20:18 · 769 阅读 · 0 评论 -
go 源码分析 slice 实现
源码角度分析 go slice 实现原创 2021-12-15 15:06:23 · 571 阅读 · 0 评论 -
go 垃圾回收 设计与实现 图解
从源码角度分析gc的不同阶段的实现原创 2021-12-08 16:03:06 · 676 阅读 · 0 评论 -
go 内存管理 设计与实现 图解
span, arena, heap 是什么, 关系是什么, 申请内存时如何分配? 内存分配器如何设计, 指针如何标记?原创 2021-12-07 16:44:30 · 1052 阅读 · 0 评论 -
go 源码分析 goroutine 概览与调度
goroutine以后都在 github 更新,请戳 Goroutine–概览与调度目录相关位置文件概览调度为什么更多资料相关位置文件src/runtime/runtime2.gosrc/runtime/proc.gosrc/plugin/plugin_dlopen.go概览如果你对 MPG 在Go协程调度中代表什么并且是如何工作的 感到疑惑, 请先参考 更多资料 中的 scheduling-in-go-part1 到 scheduling-in-go-part3根据上述文章原创 2020-11-01 19:28:17 · 586 阅读 · 1 评论 -
go 源码分析 channel 实现原理
chan以后都在 github 更新,请戳 go channel 实现原理目录相关位置文件内存构造创建sendrecvselect示例sendq 和 recvqsendx 和 recvx相关位置文件src/runtime/chan.go内存构造qcount 表示当前队列中存储了多少个元素(当前数量)dataqsiz 表示环形队列的的大小(最大数量)buf 指向环形队列所在内存的起始位置elemsize 是每个元素占用的大小(单位为字节)closed 表示当前的原创 2020-10-23 00:11:22 · 409 阅读 · 0 评论 -
go 源码分析 map 实现原理
map以后都在 github 更新,请戳 go map 实现原理用目录相关位置文件内存构造介绍桶tophash键和值插入resizehashGrowgrowWorkoverflow bucket删除操作并发更多资料相关位置文件src/runtime/map.gosrc/runtime/map_fast32.gosrc/runtime/map_fast64.gosrc/runtime/map_faststr.gosrc/runtime/type.go内原创 2020-07-15 20:47:01 · 796 阅读 · 0 评论 -
go 源码分析 调试安装
setup以后都在 github 更新,请戳 go 编译安装额外版本/runtime包中增加print函数调用目录为什么怎么做从源代码编译安装另一个版本的 go在 runtime/map.go 中调用 print 函数更多资料为什么我们需要能对 go 的源码进行调试, 修改并重建, 第一步是在任意一个内建的运行时包里增加一个 print 调用, 重新编译, 之后用编译好的编译器去运行一个 helloworld 脚本观察输出还有另一个工具 delve 可配套作为 go 的 debug原创 2020-07-07 14:36:35 · 583 阅读 · 0 评论