Java教程
已收录文章:71篇
-
Java Semaphore 的公平参数不是性能开关,而是等待线程获取许可的排队契约。本文用批量调用限流场景说明 permits、公平与 tryAcquire 超时的边界,给出线程饥饿复现、可靠释放和验收清单。492 收藏
-
文章 · java教程 | 4个月前 | Spring Boot · Java教程 · 接口设计 · Webhook · java spring boot WebHook 回调接口 幂等 状态流转 验签本文从 Java 服务接收第三方 Webhook 的接口设计出发,说明如何定义回调目标、验签参数、幂等键、错误响应、状态流转和兼容策略,避免重复通知和伪造请求。488 收藏
-
线程池满载或进入关闭流程时,任务拒绝不应该只变成一条模糊异常。本文从一个有限队列的订单异步任务池出发,拆解拒绝处理器的错误语义、四种内置策略与调用方重试边界,并给出可验收的 Java 示例。484 收藏
-
文章 · java教程 | 2个月前 | 命令行工具 · Java教程 · Java 25 · 语言特性 · Java 25 Compact Source Files instance main JEP 512 java.lang.IOJava 25 正式交付 Compact Source Files 和 instance main,单文件小工具可以省掉显式 class、static 与 String[] 参数,同时仍使用 java、javac 运行。本文从一个可运行的命令行小程序开始,核对 java.lang.IO、自动导入、参数入口和迁移回普通类时的边界。478 收藏
-
本文从一个 HashMap 放入键值对后修改 key 属性,后续 get 返回 null 的现场出发,逐步复现问题,解释 hashCode、equals 和桶定位的关系,并给出不可变 key、稳定 ID、先删后放和单测兜底的修复方案。474 收藏
-
从一次 Spring Boot 虚拟线程升级复盘讲起,拆解 JDK 21/23 与 24/25 下 synchronized pinning 的差异、JFR 诊断步骤、代码改造和上线检查清单。472 收藏
-
本文用订单支付时间示例讲清 Java 时间与时区处理:存储用 Instant,展示用 ZoneId,格式化用 DateTimeFormatter,并避开 LocalDateTime 直接跨区传输的偏差。461 收藏
-
文章 · java教程 | 2个月前 | Java教程 · 异常排查 · 精度 ArithmeticException 金额计算 RoundingMode Java BigDecimal.divideJava BigDecimal.divide 在除不尽时会抛 ArithmeticException。本文从 10 除 3 的金额分摊场景出发,拆解精确除法、scale、RoundingMode 和零除边界,并给出可复现的验收测试。455 收藏
-
文章 · java教程 | 5个月前 | 并发编程 · 生产实践 · Java教程 · 虚拟线程 · 虚拟线程 Java 25 JEP 505 Structured Concurrency StructuredTaskScope从 Spring Boot 聚合接口超时治理出发,讲清 Java 25 Structured Concurrency 预览 API 的适用边界、取消语义、代码改造和上线检查。443 收藏
-
Java 25 的 StructuredTaskScope 仍是预览 API,适合把一次请求拆成多个并发子任务,再以结构化的 join、失败传播和超时边界收拢结果。本文用商品详情聚合场景拆开 open、fork、join、TimeoutException 和预览编译参数。428 收藏
-
文章 · java教程 | 4个月前 | 异步编程 · Java教程 · CompletableFuture · java 异步任务 超时处理 completablefuture orTimeout completeOnTimeout通过一个订单页异步聚合案例,演示 Java CompletableFuture 的 orTimeout、completeOnTimeout、异常兜底、耗时日志和常见坑,避免慢任务拖垮接口。421 收藏
-
Spring 服务里一个带 @Transactional 的方法被同类普通方法直接调用时,事务可能没有开启。以订单创建与库存扣减场景为例,本文说明代理边界、日志验证、拆分服务的稳妥修法,以及哪些替代写法不适合长期使用。406 收藏