Go 内存管理——栈、堆与逃逸分析📅 2024年09月05日 · ☕ 2 分钟Go 内存管理 new make 区别、栈堆分配规则、逃逸分析触发条件、Go 函数栈帧、为什么不分代 GC、逃逸分析对 GC 的影响
Go GMP 调度模型详解📅 2024年09月01日 · ☕ 3 分钟Go GMP 调度器 G M P 模型、工作窃取 Work Stealing CAS 机制、Channel 阻塞唤醒三级协作直接移交 direct handoff
GC 扩展篇——Java 分代回收与 Python 引用计数📅 2024年08月23日 · ☕ 4 分钟重要 Java 的 GC 是"分代假设"的代表——认为大部分对象短命,按新生代/老年代分层回收。Python 则以引用计数为主力、标记清除
Go GC 实践篇——触发时机与参数调优📅 2024年08月19日 · ☕ 2 分钟重要 GOGC 默认值 100 意味着堆内存增长 100% 时触发 GC。降低 GOGC 减少内存峰值但增加 CPU,提高 GOGC 反之。Go 1.19+ 引入 GOMEMLIMIT 软限制,更适合容器化部署。 1. GC 触发时机 Go
Go GC 原理详解——三色标记与混合写屏障📅 2024年08月15日 · ☕ 5 分钟Go GC 垃圾回收三色标记法、插入写屏障、删除写屏障、混合写屏障原理,1.4 到 1.8+ 演进历史,为什么不采用分代回收和标记整理
golangci-lint常见报错说明及修复建议📅 2022年08月04日 · ☕ 2 分钟重要 环境说明 问题 1. Implicit memory aliasing in for loop 报错意思是:在循环中重复使用变量的地址 参考链接 因为for语句中变量是被重用的,即变量内存地址不变,但值发生变化
Go-设计模式📅 2020年10月01日 · ☕ 3 分钟重要 Go 没有继承和重载——设计模式的实现方式与其他语言不同。Go 靠接口 + 组合 + 闭包 + 并发原语实现模式,而非继承树。 最常用的三个:Functio
Go Struct Tag 深入理解 — Tag 规则说明📅 2020年09月01日 · ☕ 1 分钟重要 Go 的 Struct Tag 是通过 reflect.StructTag.Get(key) 读取的 key:"value" 字符串。json 序列化、gorm ORM 映射、yaml 解析等底层都依赖 Tag。 1. Tag 书写规则 Tag 是一串以空格分隔的 key:"value" 对: 规
Go-Tekton 使用示例及遇坑小记📅 2020年05月15日 · ☕ 1 分钟重要 Tekton 是 K8s 原生的 CI/CD 框架,通过 CRD 定义 Task、Pipeline、PipelineRun 等资源。本文记录实际使用的场景和常见坑点。 环境说明 K8s 集群
Go Module 实现插件机制📅 2020年05月10日 · ☕ 2 分钟重要 利用 Go 的 init() 函数 + 匿名导入(_ "pkg")实现编译期插件注册。新增插件只需写一个包并在入口处 import。 环境说明 Go 1.20
Go Map 详解——底层结构与使用注意事项📅 2020年01月26日 · ☕ 2 分钟Go Map 底层 hmap bmap 结构、渐进式扩容、并发安全 sync.Map 原理、枚举遍历、引用类型函数传参