首页 / 技术专题CATEGORY / SPRINGFORALL

Java

在这个技术方向,积累扎实的知识与实践。

共 560 篇文章

Java 的 Stream Gatherers 按金额切批、按字段去重,漏写 finisher 最后一批会丢

Stream Gatherers 在 JDK 24 由 JEP 485 定稿。这里用 JDK 27 和 Spring Boot 4.1 跑了 windowFixed、windowSliding、scan 三个内置 gatherer,再用 Gatherer.ofSequential 写了按字段去重和按累计金额切批两个自定义操作,顺带讲清 push 的返回值怎么让流短路、finisher 怎么在流末收尾。

JDK 27 发布前差点带上一个改坏字符串的 C2 bug,我把旧 EA 版本找回来复现了一遍

JDK 27 GA 前不到一个月,C2 的 EncodeISOArray intrinsic 被发现会把字符串前 4 个字节写坏(JDK-8390546,P1),最后在 GA 构建 27+35 里回退修掉。用 Spring Boot 实测 27-ea+23/24/34、27 GA 和 28-ea+20:ea+24 和 ea+34 稳定复现,关掉压缩对象头就消失。还钉着 27 EA 镜像的该换了。