Go语言技术文章
-
- weak 指针与 finalizer 配合时怎样避免对象复活
- Go 的 weak.Pointer 不会阻止对象回收,但 finalizer 会临时复活对象。本文说明旧弱指针为何在 finalizer 排队时失效,以及如何通过禁止强引用逃逸、改用 runtime.AddCleanup、按缓存未命中重建对象来消除复活风险。
- Golang · Go教程 | 6天前 | 垃圾回收 · 内存管理 · Go教程 · weak.Pointer AddCleanup finalizer Go weak 指针 对象复活 483浏览 收藏
-
- 对象仍被使用时 weak 指针为什么可能已经失效
- Go 变量仍在作用域不等于对象仍然可达:函数参数或接收者可在最后一次提及后失去活性,weak.Pointer.Value 随后可能返回 nil。本文还原根因,并给出强所有者与 runtime.KeepAlive 的正确放置方式。
- Golang · Go问答 | 6天前 | GC · Go问答 · Go 垃圾回收 weak.Pointer runtime.KeepAlive 对象可达性 195浏览 收藏
-
- 用 weak.Pointer 构建可自动失效的元数据缓存
- Go 1.24 引入的 weak.Pointer 可以让缓存只保存弱引用。本文用元数据缓存示例拆解 weak.Make、Value、GC 可达性和并发重建边界,帮助你写出可安全丢弃、失效后可回源的缓存。
- Golang · Go教程 | 6天前 | 缓存 · 内存管理 · Go教程 · Go 垃圾回收 weak.Pointer 元数据缓存 118浏览 收藏
-
- weak.Pointer.Value 偶尔返回零值是不是数据竞争
- 解释 weak.Pointer.Value 返回 nil 的正常回收语义,区分共享引用容器与目标字段的数据竞争,并给出锁、KeepAlive 和 race detector 的排查写法。
- Golang · Go问答 | 6天前 | 153浏览 收藏
-
- Go weak 指针如何实现不阻止回收的对象索引
- 介绍 Go weak.Pointer 的可达性语义,并用 weak.Make、Value、互斥锁与惰性清理实现不延长对象生命周期的并发安全索引。
- Golang · Go教程 | 6天前 | 242浏览 收藏
-
- 并行基准测试能否直接改用 B.Loop
- 并行基准测试不能把 RunParallel 回调里的 PB.Next 直接替换成 B.Loop。本文区分普通基准循环与并行工作分配,给出 B.Loop 迁移范围、RunParallel 正确写法、计时器边界和 Go 版本兼容检查。
- Golang · Go问答 | 6天前 | 并发 · 基准测试 · go · RunParallel B.Loop Go并行基准测试 PB.Next testing.Benchmark 142浏览 收藏
-
- B.Loop 基准测试怎样比较不同缓冲区大小
- 用 Go B.Run 与 B.Loop 对比 1 KiB、4 KiB、32 KiB、128 KiB 缓冲区,固定负载并隐藏 io.CopyBuffer 快速路径,结合吞吐和内存指标选型。
- Golang · Go教程 | 6天前 | 444浏览 收藏
-
- testing.B.Loop 为什么不再需要手动读取 b.N
- 解释 Go testing.B.Loop 如何接管基准测试的迭代扩容、计时边界和防编译器消除职责,并说明 b.N 仍可在循环结束后用于自定义指标。
- Golang · Go问答 | 6天前 | 497浏览 收藏
-
- 用 B.Loop 正确排除一次性初始化开销
- Go 1.24 引入的 testing.B.Loop 可以把基准测试的一次性初始化和清理放到计时边界之外。本文用固定输入的哈希基准说明正确写法、b.N 迁移边界、编译器优化注意事项和 go test 检查命令。
- Golang · Go教程 | 6天前 | 117浏览 收藏
-
- B.Loop 中修改循环外变量为什么会影响基准结果
- B.Loop 只负责迭代与计时,不会恢复循环外可变状态。切片长度、容量、map 内容或缓冲区会跨轮累积,导致每次操作不再等价。本文用可运行示例区分新建成本与复用成本,并说明重置是否计时。
- Golang · Go问答 | 6天前 | go · testing · Go问答 · testing.B.Loop Go基准测试 循环外变量 benchmark状态 105浏览 收藏
-
- testing.B.Loop 如何重写旧式基准测试循环
- 讲解如何把 Go 旧式 b.N 基准测试迁移到 testing.B.Loop,处理一次性准备、循环内输入重置、计时器控制、自定义指标和结果对比,并说明不能混用的边界。
- Golang · Go教程 | 6天前 | go · testing · 基准测试 Go benchmark b.N testing.B.Loop 315浏览 收藏
-
- 反向代理后 CrossOriginProtection 误判来源怎么办
- 定位 Go CrossOriginProtection 在反向代理改写 Host、请求缺少 Sec-Fetch-Site 时的 403 误判,给出精确可信 Origin、Host 保留与安全测试方案。
- Golang · Go问答 | 6天前 | 故障排查 · net/http · Go问答 · 反向代理 Sec-Fetch-Site Go CrossOriginProtection Origin Host 403误判 201浏览 收藏
-
- 为可信子域配置 CrossOriginProtection 放行规则
- 以控制台和 API 分处不同子域的场景,讲清 Go CrossOriginProtection 的精确 Origin 放行、启动校验、拒绝日志、CORS 边界与回归测试。
- Golang · Go教程 | 6天前 | web安全 · Go教程 · net/http · CSRF防护 Go CrossOriginProtection AddTrustedOrigin 可信子域 跨源写请求 467浏览 收藏
查看更多
课程推荐
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- Golang深入理解GPM模型
- Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
- 474次学习
查看更多
AI推荐
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 479次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 535次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 558次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 507次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 328次使用

