#java
共 13 篇
11-09
CompletableFuture 用了公共池:一次批量接口把 Tomcat 线程全占住
五个下游改并行,本地从 380ms 降到 120ms,压测 QPS 却腰斩。两百个 Tomcat 线程停在 join 上,干活的只有三个。公共池的容量、隔离与超时该怎么配。
11-09
Communications link failure:连接池和 wait_timeout 的时间竞赛
每天凌晨第一笔请求必失败,重试就好。Aborted_clients 一千八百多,maxLifetime 用的是默认值,wait_timeout 被改成了十分钟。三组超时的先后顺序怎…
11-05
线程池七个参数:一个无界队列引发的 OOM
newFixedThreadPool 把队列设成无界,3000 个任务直接吃满 3.2 GB。七个参数的真实作用顺序、四种拒绝策略与五个必踩的坑。
11-05
Java 线上排查工具链:从 CPU 100% 定位到方法行
CPU 高、内存涨、线程堆积、接口慢,四类现象各对应不同的第一条命令。jstack、jcmd、Arthas 的完整用法与判读方法。
11-05
Spring 事务失效的 8 个场景,每一个都踩过
@Transactional 在同类方法调用、非 public 方法、异常被吞掉、多数据源等 8 种场景下会悄悄失效。每种给出复现代码、失效原因和修法。
11-05
Spring Boot 自动配置原理与手写一个可用的 Starter
从 @EnableAutoConfiguration 到条件装配的加载顺序,再手写一个能用的 Starter。搞懂自动配置,才敢改别人的脚手架。
11-10
异常记录 java.lang.NoSuchMethodError: ‘void org.springframework.web.method.ControllerAdviceBean.<init>(java.lang.Object)'
在spring cloud 2025.0.0 + spring boot 3.5.7 + knife4j 4.5.0 集成,集成完成后没有报任何错误
11-06
docker - 通过 Dockerfile 创建镜像
由于 Docker 镜像的结构优势,使它的占用空间远小于普通的虚拟机镜像,而这就大幅减少了 Docker 镜像在网络或者其他介质中转移所花费的时间,进而提高了进行迁移部署的效率。
12-06
Java8新特性-Optional 类
11-30
Java8新特性-Stream API
Stream到底是什么呢? 是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。 “集合讲的是数据,Stream讲的是计算!” 注意: ①Stream 自己不会存储元素。 …
09-19
Java8新特性-方法引用与构造器引用
08-17
Java8新特性-函数式接口
06-18
Java8新特性-Lambda 表达式
Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,…