Go语言技术文章
-
Go 的 weak.Pointer 不会阻止对象回收,但 finalizer 会临时复活对象。本文说明旧弱指针为何在 finalizer 排队时失效,以及如何通过禁止强引用逃逸、改用 runtime.AddCleanup、按缓存未命中重建对象来消除复活风险。483 收藏 -
Java record 序列化不是普通 Serializable 类的缩小版。本文说明组件如何进入序列化流、canonical constructor 如何参与反序列化,以及新增删除组件、record 与普通类互转时如何设计兼容边界。483 收藏 -
reflect.VisibleFields 会把匿名嵌入结构中的可见字段和未导出字段一起返回,真正的导出筛选要交给 StructField.IsExported。本文用一个包含嵌入结构的例子说明如何保留提升字段、处理 Index,并封装成可复用函数。483 收藏 -
Go heap 默认存活视图可能看不到已回收的短命对象。切换 alloc_space、alloc_objects,并结合业务观察窗口、MemProfileRate 与实际堆分配,区分分配压力和存活容量,避免误判泄漏或盲目提高采样精度。483 收藏 -
Redis Search 可通过 FT.SEARCH 的 TIMEOUT 设置单次查询预算,并结合 search-timeout 默认值和 search-on-timeout 策略判断返回部分结果还是失败。483 收藏 -
浏览器后台标签页可能延迟定时器,直接用客户端心跳时间判断 WebSocket 存活容易误报。本文说明如何结合 visibilitychange、应用层 ping/pong、服务端确认和退避重连,避免页面恢复时重复连接。483 收藏 -
提供两张原创紫藤暮色9:16手机壁纸,包含中英文提示词、锁屏时间区与主屏图标区的留白安排、构图变体和无水印下载入口。483 收藏 -
科技周边 · 人工智能 | 1天前 | LoRa PEFT adapter save_pretrained adapter_model.safetensors selected_adapters save_embedding_layers
PEFT 的 save_pretrained 默认只保存 adapter 配置和增量权重,不会把冻结的基础模型一起复制。本文说明多 adapter 的 selected_adapters、embedding 层保存开关、重新加载边界,以及 Trainer checkpoint 与完整模型的区别。483 收藏 -
IndexedDB 升级应在 onupgradeneeded 中按 oldVersion 累计迁移。本文用独立演示库说明跳版本结构变更、事务活性与失败回滚,并区分回调结束和打开成功。483 收藏 -
用 Go hash.Hash 和固定缓冲区流式计算文件摘要,覆盖部分读取、EOF、真实 I/O 错误、资源关闭与摘要输出边界。482 收藏 -
依据现行城建档案规则,整理建筑项目从准备、设计、施工到验收移交的分阶段归档清单,并提示地方差异和整改闭环。482 收藏 -
在文件节点返回 fs.SkipDir 会跳过父目录剩余条目,fs.SkipAll 则停止整棵树。本文用对照表和代码说明安全选择边界。482 收藏 -
文章 · java教程 | 1星期前 | 线程池 · 异常处理 · 并发编程 · Java教程 · CompletableFuture · 异步任务 completablefuture allOf Handle 结果汇总 CompletionException
本文解释 CompletableFuture.allOf 为什么只返回 Void、如何在完成屏障后汇总子任务结果,并通过 handle 将任务名、成功值和根异常保存到 TaskResult,解决多任务失败归属不清的问题。482 收藏 -
Golang · Go教程 | 1星期前 | 标准库 · 配置管理 · 错误处理 · 并发编程 · Go教程 · Go 并发初始化 共享配置 sync.OnceValue sync.OnceValues
Go 1.21+ 可用 sync.OnceValues 把共享配置与初始化错误作为一对结果缓存,避免 sync.Once 配合外部变量造成分散状态。本文通过可测试的 ConfigProvider 展示并发只加载一次、错误传播及不适合自动重试的边界。482 收藏 -
本文用 systemd WatchdogSec、sd_notify 与 Restart=on-watchdog 配置服务心跳,解释超时重启、NotifyAccess、启动限速和排障方法,避免进程存活却业务假死。482 收藏