Go 并发调试:竞态检测、火焰图与死锁定位
围绕 Go 并发问题的定位方法,系统讲解竞态检测、火焰图分析与死锁排查的原理、工具链路、源码实现与工程实践。
收录理由:这篇文章很适合作为 Go 面试专题里的重点内容,因为它不只讲工具怎么用,还把并发调试相关的底层机制、源码逻辑、性能开销和实际排查方法串成了一整套答题框架,既适合面试准备,也适合工程落地。
这里收录了大量的优质文章,你可以在阅读中借鉴他人的思路、提升自己的代码品味或抓住灵感的火花。
已找到 27 篇文章
返回首页围绕 Go 并发问题的定位方法,系统讲解竞态检测、火焰图分析与死锁排查的原理、工具链路、源码实现与工程实践。
收录理由:这篇文章很适合作为 Go 面试专题里的重点内容,因为它不只讲工具怎么用,还把并发调试相关的底层机制、源码逻辑、性能开销和实际排查方法串成了一整套答题框架,既适合面试准备,也适合工程落地。
围绕 Go 1.25 引入的实验性 Green Tea GC,系统解释现有标记-清扫流程的瓶颈、按页扫描的新思路,以及它为什么能显著降低 GC CPU 开销。
收录理由:这篇文章把一个看似“运行时内部优化”的改动讲得非常透彻,不仅能帮助理解 Go GC 的真实成本来源,也能让读者看到 Go 团队如何把缓存局部性、队列设计和向量指令一起转化成生产级收益。
围绕 Go 1.25 新增的 Flight Recorder,讲解它如何用环形缓冲区持续保留最近几秒的追踪数据,并在异常发生时精准导出现场。
收录理由:这篇文章很适合作为 Go 1.25 新特性的代表性读物,因为它不只介绍 API 用法,还通过一个真实的锁阻塞案例把运行时追踪、线上诊断和低开销可观测性串了起来,实用价值很强。
围绕第三方正则引擎 coregex 的性能优势、技术路线与标准库替换提案,讨论 Go 标准库 regexp 为什么长期选择安全与兼容性优先。
收录理由:这篇文章适合作为 Go 生态库观察类内容收录,因为它不只是介绍一个更快的正则库,而是把性能、兼容性、安全性和标准库演进之间的取舍讲清楚了,能帮助读者建立比“谁更快”更成熟的判断。
围绕 Go 1.27 的已知动向与潜在重点,梳理兼容性变化、后量子密码、HTTP/3、哈希抽象和泛型方法等值得关注的方向。
收录理由:这篇文章适合作为 Go 1.27 的前瞻性补充阅读,因为它的价值不在于介绍某个已经落地的单一特性,而在于帮助读者提前建立对版本方向、潜在 breaking changes 和未来演进路线的整体认知。
在 Gin、Echo、Fiber 之外,补充对 Iris、Hertz、Fasthttp、Goframe 的定位、性能、生态兼容性、学习曲线与适用场景分析。
收录理由:这篇文章的价值在于把常见选型讨论从“三大主流框架”扩展到更完整的 Go Web 生态,尤其适合需要考虑微服务、企业级工具链或 fasthttp 性能路线的读者做横向比较。
围绕 sync.Map 与 map+mutex 的实现原理、读写比例差异、内存开销和误用案例,解释并发安全 map 在不同场景下该如何选型。
收录理由:这篇文章很适合作为并发性能优化的入门读物,因为它没有停留在“哪个更快”的表面结论上,而是把读写模式、键空间稳定性、API 需求和维护成本一起纳入判断,能帮助开发者避免非常常见的选型误区。
围绕 Gin、Echo、Fiber 三个主流 Go Web 框架,对比它们在纯 API、数据库场景、内存占用、GC 压力、生态成熟度与兼容性上的差异。
收录理由:这篇文章适合作为 Go Web 框架选型的起点,因为它没有只盯着 benchmark,而是把框架性能、生态、中间件兼容性和团队落地成本放到同一个决策框架里,比较符合真实生产环境的选型方式。
围绕 Go 中 5 种常见字符串拼接方式的 benchmark,对比它们在固定参数和可变参数场景下的执行时间、内存分配与分配次数差异。
收录理由:这篇文章很适合作为性能优化专题的基础读物,因为它把字符串拼接这个高频但常被忽略的细节讲得很清楚,不仅给出 benchmark 结果,还能直接转化为缓存 key 生成、循环累积和高并发场景下的实际优化建议。
结合 Go 1.24、1.25 和 1.26 的演进,说明编译器如何把更多切片分配从堆挪到栈上,从而减少分配次数与 GC 压力。
收录理由:它把“栈分配更便宜”这件大家都知道的事,延展成了对现代 Go 编译器优化路径的完整解读,尤其适合放在新特性专题里,帮助读者建立对切片、逃逸分析和分配成本的更立体理解。
围绕 Slog、Zap、Zerolog、Logrus 和 apex/log 五款常见 Go 日志库,对比它们在性能、内存分配、易用性与适用场景上的差异。
收录理由:这篇文章适合作为 Go 生态库选型类内容收录,因为它不只列出日志库功能,而是把标准库方案、极致性能路线和历史遗留项目的迁移现实放到一起讨论,能帮助读者快速建立比较完整的日志选型认知。
围绕 Go 1.18 之后的 slice 扩容策略变化,解释阈值调整、平滑增长公式、内存对齐处理,以及它对扩容次数和内存浪费的实际影响。
收录理由:这篇文章适合作为理解 slice 行为的进阶读物,因为它不只停留在“append 会触发扩容”这一层,而是把 runtime 中的扩容逻辑、版本差异和真实场景下的性能取舍都串了起来,读完之后再看内存优化和逃逸分析会更顺手。