Go语言技术文章
-
文章 · java教程 | 4个月前 | map · 并发安全 · 缓存设计 · Java教程 · java optional concurrenthashmap computeIfAbsent Map缓存
本文用一个用户资料缓存场景,完整拆解 Java Map computeIfAbsent 的使用边界、缺失加载、空值包装、并发 Map 选择和上线前检查,帮助你写出更简洁且行为可控的缓存初始化代码。236 收藏 -
DBeaver 是常用数据库客户端。本文按真实界面操作,演示新建 MySQL 连接、填写主机端口、测试连通、保存连接、打开表、运行 SQL 和查看结果表。269 收藏 -
图片懒加载如果没有预留尺寸,页面会在图片加载后发生布局抖动。本文按完整工作流拆解占位比例、IntersectionObserver 按需加载、骨架状态和 CLS 指标复查。128 收藏 -
Java 后端线上出现 NullPointerException 时,不要只在报错行补 if。本文从日志定位开始,复现空字段请求,逐步确认根因,并用入口校验、安全映射和复查用例降低同类问题。204 收藏 -
Linux 服务启动失败并提示端口已被占用时,不能只换端口了事。本文按完整工作流拆解 ss 检查监听、lsof 定位进程、停止旧服务或切换端口、curl 复查和监控告警。335 收藏 -
Linux 磁盘明明还有空间,却提示 No space left on device,常见原因是 inode 用尽。本文按完整工作流拆解 df -h、df -i、find 定位小文件目录、清理归档、日志轮转和监控验证。284 收藏 -
WebSocket 上线后常见问题不是连接不上,而是断线后状态混乱、消息丢失、重复重连。本文按完整工作流拆解心跳检测、退避重试、恢复订阅和离线消息补发。365 收藏 -
ArrayList 遍历时删除元素很容易抛 ConcurrentModificationException。本文按完整流程拆解增强 for、modCount、迭代器检查机制,并给出 Iterator.remove、removeIf、复制新列表三种安全方案。410 收藏 -
页面接口经常需要同时查询用户、订单、优惠等多个服务。本文按完整工作流拆解 Java CompletableFuture 如何做并行调用、独立超时、异常兜底、统一 DTO 合并和最终检查。428 收藏 -
老 PHP 项目常把密码存成 MD5。本文按完整工作流讲清楚如何不强制用户改密码:识别旧格式、兼容登录校验、登录成功后自动写回新哈希,并逐步清理旧密码格式。174 收藏 -
线上偶发出现 2025-13-32 这类异常日期,很多时候不是数据源错了,而是多个线程共享了 SimpleDateFormat。本文从复现现象开始,逐步验证共享可变状态,并给出 DateTimeFormatter 和 ThreadLocal 两种修复方式。481 收藏 -
弹窗被导航、地图、页脚或抽屉遮住时,单纯调大 z-index 往往治标不治本。本文按完整工作流拆解层级现场、stacking context 定位、层级表设计、Portal 容器落地和回归验证。350 收藏 -
列表页筛选后刷新又回到默认结果,通常不是接口错了,而是筛选状态只存在内存里。本文从复现现象开始,逐步验证状态来源、URL 参数和刷新还原流程,整理一套稳定写法。348 收藏 -
Python 项目里同一条日志重复出现两三次,常见原因是重复 addHandler 或子 logger 向根 logger 继续上抛。本文从复现现象开始,逐步检查 Handler 数量、logger 层级和 propagate 配置,整理一套稳定的日志初始化写法。299 收藏 -
crontab 里明明写了任务,到了时间却没有结果。本文从任务是否登记、时间表达式是否命中、环境变量是否缺失、工作目录是否正确、日志是否能回查几个方向逐步排查,整理一套稳定的定时任务写法。286 收藏