首页
📚 全系列目录
Ai拆代码的曹操 - 全部系列
关于
Ai拆代码的曹操
累计撰写
152
篇文章
累计创建
8
个分类
累计收到
1
条评论
导航
首页
📚 全系列目录
Ai拆代码的曹操 - 全部系列
关于
目录
Ai拆代码的曹操 - Java性能调优·线上问题排查
10年+一线Java后端,专注生产环境真实问题排查。已输出12个系列462个实战案例,公众号「Ai拆代码的曹操」、知识星球「Ai拆代码的曹操·星球」同步更新
标签
Java 并发疑难杂症
置顶
Java 并发疑难杂症 · 系列目录
2026-07-19 21:10
2
0
24.2℃
Java 并发疑难杂症 · 系列目录 叙事框架:现象 → 逆向推理 → 验证 → 根因 总计 26 篇,已发布 9 篇,17 篇待完善 一、线程池类 ✅ 线程 Dump 不会读?从 BLOCKED/WAITING/RUNNABLE 到问题还原 ✅ 线程池队列积压百万任务,不重启如何诊断? ✅ 线程池
ReentrantReadWriteLock 锁降级:面试背答案的人,写不出这种死锁
2026-07-19 21:10
7
0
0
24.7℃
ReentrantReadWriteLock 锁降级:面试背答案的人,写不出这种死锁 场景:缓存组件使用 ReentrantReadWriteLock 做读写分离,写锁降级读锁时所有线程卡死 路径:现象 → 复现 → 排查路径 → AQS 源码 + CLH 队列 → 代码审查标记 上篇讲了 Reen
无竞争,换锁后 RT 飙了 15 倍——ReentrantLock 的 JIT 内联陷阱
2026-07-18 13:14
7
0
0
24.7℃
无竞争,换锁后 RT 飙了 15 倍——ReentrantLock 的 JIT 内联陷阱 场景:8 线程业务服务,接口 RT ~50ms,锁竞争几乎为零。因上游超时需加 tryLock(1s) 降级,把 synchronized 换成 ReentrantLock——上线后 RT 飙到 800ms+。
卡死 3 分钟,jstack 查出 4 条线程在跳探戈
2026-07-18 09:52
7
0
0
24.7℃
卡死 3 分钟,jstack 查出 4 条线程在跳探戈 场景:转账服务两个账号互相转账,同时请求导致全部线程 BLOCKED,服务 hang 死 路径:现象全景 → 现场还原 → 第一板斧(jstack) → 第二板斧(代码审查) → 第三板斧(lock chain) → 排查地图 上篇讲了 Exe
线程池没满,JVM 先 OOM 了——Executors 的并发陷阱
2026-07-18 09:28
7
0
0
24.7℃
线程池没满,JVM 先 OOM 了——Executors 的并发陷阱 场景:订单处理服务使用 Executors.newFixedThreadPool(10) 处理消息队列,上线一年某天突然 OOM。线程池没满、拒绝策略没触发——但堆里躺了 870 万条待处理任务。 路径:现象(OOM 现场)→ 还
ScheduledThreadPoolExecutor 定时任务未按时执行排查
2026-06-29 23:01
19
0
0
25.9℃
ScheduledThreadPoolExecutor 定时任务未按时执行排查 场景:每 5 秒执行一次的定时任务,实际间隔变成了 8 秒、15 秒、30 秒——越来越慢 路径:检查执行时间 → 区分 fixedRate vs fixedDelay → 验证异常处理 → 监控线程池状态 上篇讲了核心
核心线程数设错了:过大引发资源竞争、过小导致队列积压
2026-06-29 22:35
10
0
0
25.0℃
核心线程数设错了:过大引发资源竞争、过小导致队列积压 场景:8C16G 容器,线程池 200 个核心线程,CPU 50% 但 P99 延迟从 50ms 涨到 800ms 路径:判断任务类型 → 公式计算 → 压测验证 → 持续监控 上篇讲了拒绝策略选型失误导致任务静默丢失,这篇我们来看线程池配置里另
线程池满了:拒绝策略选型失误导致任务丢失
2026-06-28 19:22
6
0
0
24.6℃
线程池满了:拒绝策略选型失误导致任务丢失 场景:凌晨批处理对账发现 2 万条数据丢失,系统无任何错误日志 路径:模拟提交 → 观察各策略行为 → 检查 handler 类型 → 修复为自定义策略 上篇讲了线程池队列积压导致接口全面超时的排查过程,最后提到「拒绝策略不要轻易用 AbortPolicy」
线程池队列积压百万任务,不重启如何诊断?
2026-06-23 23:24
18
0
0
25.8℃
线程池队列积压百万任务,不重启如何诊断? 本文是 Java 并发疑难杂症系列的第 2 篇 叙事框架:现象 → 排查过程 → 根因 → 修复 → 预防 问题现象 告警触发 某日下午 14:28,用户中心服务的告警群突然被告警机器人刷屏。 接口 p99 飙到了 3128ms(阈值 800ms),错误率升
线程 Dump 不会读?从 BLOCKED/WAITING/RUNNABLE 到问题还原
2026-06-20 12:59
16
0
0
25.6℃
线程 Dump 不会读?从 BLOCKED/WAITING/RUNNABLE 到问题还原 系列:Java 并发疑难杂症 | 第 1 篇 本文所有命令和输出均来自真实复现环境,可照步骤重现 1. 问题现象 1.1 告警 某日早高峰 9:32,支付对账服务告警群弹出: 接口响应时间从正常的 50ms 暴
弹