Guava EventBus 实战教程:事件驱动解耦
解耦这件事,最难的不是拆模块,是拆了以后让它们说话。直接方法调用把两个模块焊死,MQ 又重得没必要。Guava EventBus 给了中间那条路:发布方只管 post,订阅方只管 @Subscribe,双方互不认识。
第 8 篇 中间件:五段洋葱模型与横切关注点
读之前:第 6 篇(事件流)、第 7 篇(权限)| 后面会用到:第 9 篇(上下文工程)、第 13 篇(技能系统)、第 16 篇(分布式)、第 17 篇(可观测性)你接到了一个需求:给所有工具调用统一打审计日志、按租户隔离数据、给模型调用加限流、一次请求里串起调用链追踪。
34-数据库连接池与慢 SQL 叠加导致的接口雪崩
#连接池 #慢SQL #线上问题排查 #Arthas #JDK8版本声明:本文基于 JDK 8(1.8.0_x) 与 Arthas 4.x 编写。文中提到的 HikariCP / Druid 在 JDK 8 上均可用(Spring Boot 2.x)。
StampedLock 实战教程:网关路由、库存扣减、缓存防重
读多写少的场景里,ReentrantReadWriteLock 的读锁还是要走一遍 CAS。StampedLock 的乐观读连锁都不拿,读一个版本号就完事,吞吐能翻几倍。但它是把快刀:不可重入、stamp 要自己管,用错一处就是线上事故。
第 10 篇 记忆与状态:无状态 Agent 的有状态工程
读之前:第 2 篇、第 4 篇、第 5 篇、第 9 篇 | 后面会用到:第 11 篇、第 16 篇你写下的第一个 ReActAgent 多半是这个样子:定义一个字段,注入到 Spring 容器里,然后让 controller 调它。看上去它就是个普通的服务对象,有字段、有状态。
Guava实战教程:12个生产场景,把重复代码写明白
每个场景都来自真实业务:参数校验、权限映射、本地缓存、接口限流、事件解耦。代码可以直接抄进项目,JDK 8 以上都能跑。一、先说清楚 Guava 是什么Guava 是 Google 开源的 Java 核心工具库。
java线程池大全
基于 JDK 8 ~ JDK 21 + Spring Boot,按使用频率排序。每类线程池均包含:功能说明、使用场景、经典 Demo、注意事项(重点标注线上风险)。一、线程池总览与选型决策1.
32-线程池打满导致接口超时:参数配置与监控体系
#线程池 #性能调优 #线上问题排查 #Arthas #JDK8版本声明:本文基于 JDK 8(1.8.0_x) 与 Arthas 4.x 编写。
Redis分布式锁实战:误删和锁续期一次讲透
两个线程同时扣库存,扣着扣着就扣成了负数。你加上 synchronized,一台机器上跑得好好的,服务一扩到三台,超卖又回来了——因为 synchronized 只管自己这个 JVM 里的线程,管不了隔壁机器。