📚

334

一杯咖啡的时间,聊聊技术与成长

连载中 15/22

定位工具箱:performance_schema 与 sys schema 实战

凌晨 CPU 飙高是谁干的?MySQL 自带的体检仪实战:按 digest 找 TOP 慢 SQL、sys.session 抓现行、innodb_trx 揪长事务、锁等待与 MDL 一次排清。

#MySQL#performance_schema#sys schema#锁等待#长事务
2026-05-09 · 2702 阅读 · 0 评论 · 0 赞
连载中 21/21

收官复盘:一张并发作战地图

二十一篇归结为一条主线:三宗罪。原子性找锁与 CAS,可见性有序性找 volatile,等待协调找三件套与队列,线程管理找池与虚拟线程——按问题找工具,一页纸装下全系列。

#Java#并发编程#收官复盘#JUC#作战地图
2026-11-02 · 21 阅读 · 0 评论 · 0 赞
连载中 20/21

虚拟线程:JDK 21 的并发新范式

阻塞从「占住一条 OS 线程」变成「堆上多存一段栈」,便宜了三个数量级。mount/unmount 原理、不池化的新哲学、synchronized 钉住载体线程的坑与 JDK 24 的修复。

#Java#虚拟线程#JDK21#JUC#并发编程
2026-11-01 · 16 阅读 · 0 评论 · 0 赞
连载中 19/21

CompletableFuture:异步编排的正确姿势

Future 只会干等,编排要靠回调流水线。三个下游接口从串行 700ms 到并行 300ms 的聚合模板;commonPool 的共享陷阱与自定义线程池;thenCompose 链式与超时兜底。

#Java#CompletableFuture#异步编排#JUC
2026-11-01 · 13 阅读 · 0 评论 · 0 赞
连载中 18/21

协作三件套:CountDownLatch、CyclicBarrier、Semaphore

锁解决「不能同时干」,三件套解决「什么时候一起干」。CDL 等事件(一次性)、Barrier 等同伴(可循环)、Semaphore 管配额(可增减),全是 AQS 共享模式的三个分身。

#Java#CountDownLatch#CyclicBarrier#Semaphore#JUC
2026-10-31 · 32 阅读 · 0 评论 · 0 赞
连载中 17/21

并发容器补全:CopyOnWriteArrayList 与 BlockingQueue 家族

写时复制的读多写少神器,代价是内存翻倍与弱一致;BlockingQueue 家族的锁粒度差异与三组 API——put/take 阻塞、offer/poll 让路、add/remove 炸雷,生产者消费者的现代标准答案。

#Java#CopyOnWriteArrayList#BlockingQueue#并发容器#JUC
2026-10-31 · 29 阅读 · 0 评论 · 0 赞
连载中 16/21

ConcurrentHashMap:从分段锁到 CAS + synchronized

HashMap 并发用的两个血案现场;JDK 7 分段锁 16 段的笨拙与聪明;JDK 8 把锁做到单个桶——CAS 空桶加 synchronized 锁头节点,size 统计用的是 LongAdder 思想。

#Java#ConcurrentHashMap#分段锁#红黑树#JUC
2026-10-30 · 33 阅读 · 0 评论 · 0 赞
连载中 15/21

线程池(下):参数怎么定、拒绝策略选哪个、怎么动态调

四种拒绝策略各有哲学:宁可吵着失败,不要安静地丢。公式给起点、压测给终点;参数外置加运行时 setter 实现动态线程池;shutdown 与 shutdownNow 的温和与粗暴。

#Java#线程池#拒绝策略#动态调参#JUC
2026-10-30 · 27 阅读 · 0 评论 · 0 赞
连载中 14/21

线程池(上):七大参数与一个任务的完整旅程

为什么大厂规范禁止 Executors?无界队列与无界线程数两个 OOM 现场复盘。手动 new 的七大参数逐个点名,任务旅程的判定顺序——队列先于非核心线程,很多人记反。

#Java#线程池#ThreadPoolExecutor#JUC#并发编程
2026-10-29 · 24 阅读 · 0 评论 · 0 赞