Java教程
已收录文章:71篇
-
从零实现一个可运行的 Java 本地 TTL 缓存,包含写入、读取、过期淘汰、命中统计和本地验收,适合作为接口临时缓存或小工具缓存的入门项目。394 收藏
-
文章 · java教程 | 2个月前 | 并发编程 · Java教程 · 虚拟线程 · threadlocal 请求上下文 Java 25 StructuredTaskScope ScopedValueJava 25 已将 ScopedValue 正式纳入平台 API。本文用一个并发读取请求上下文的场景,说明它与 ThreadLocal 的职责差异、绑定生命周期、StructuredTaskScope 继承规则,以及上线前如何验证预览 API 和不可变数据边界。391 收藏
-
从滚动发布偶发 5xx 复盘 Spring Boot graceful shutdown、readiness 摘流量、线程池收口、MQ 消费暂停和停机压测。390 收藏
-
一次 Spring WebFlux 线上 p99 飙升复盘:解释 block()、JDBC 等阻塞调用为什么会卡住 Netty EventLoop,并给出 Java 17/21、Spring Boot 3.x 下的诊断、代码修复和上线检查清单。388 收藏
-
Java 25 的 Foreign Function & Memory API 用 MemorySegment 表示连续内存,用 Arena 管理堆外区域的生命周期。本文演示 confined、shared 和 automatic arena 的边界,并用关闭后的访问异常完成验收。366 收藏
-
本文用一个用户首页聚合场景,梳理 Java CompletableFuture 的并发拉取、超时边界、异常兜底、结果合并和上线检查流程,让接口聚合在慢依赖下仍能稳定返回。365 收藏
-
一篇 Java/Spring Cloud OpenFeign 生产复盘:从慢下游拖垮订单服务出发,讲清 connectTimeout/readTimeout、重试幂等性、CircuitBreaker、fallback、连接池和坏天气压测。363 收藏
-
Java 24 将 Class-File API 放进 java.base,ClassFileVersion 可以帮助工具识别 class 文件的 major/minor version。本文从一个可运行的小实验开始,演示读取版本、定位高版本拒绝原因,并延伸到 ClassModel、MethodModel 与生产边界。352 收藏
-
文章 · java教程 | 2个月前 | 故障排查 · Java教程 · 虚拟线程 · synchronized reentrantlock 虚拟线程 JFR Java 21 VirtualThreadPinnedJava 21 虚拟线程并不是开得越多越快。只要把慢 I/O 放进 synchronized,虚拟线程就可能 pin 住承载它的平台线程,吞吐随并发上升反而下降。本文用 JFR 和 tracePinnedThreads 还原定位过程,并给出锁替换与版本边界。343 收藏
-
Java 21 的 switch 模式匹配可以把类型判断和解构写进分支,但传统 switch 遇到 null 仍可能抛 NullPointerException。本文用订单状态路由场景说明 case null、类型覆盖、default 与旧代码兼容边界,并给出可复现的验收测试。338 收藏
-
从一次 Spring Boot 结构化日志改造复盘讲起,拆解字段契约、MDC 生命周期、日志成本、告警迁移和上线检查。332 收藏
-
BigDecimal 的 1.0 和 1.00 数值相等,但 equals 结果不同,放进 HashSet 也会留下两条记录。本文从订单金额比较误判的现场出发,说明 scale、compareTo、HashMap 去重和金额归一化的边界。330 收藏