Java周刊2026W33 | IntelliJ IDEA 开放 LSP、Spring Boot 4.1 支持 gRPC、Elasticsearch 9.5.0 发布、Java 转高频安全更新
本周 Java 生态重磅频出:IntelliJ IDEA 向 VS Code 与 Cursor 开放 LSP 语言智能,Spring Boot 4.1 落地期待已久的 gRPC 支持,Java 转向更高频安全更新,Elasticsearch 9.5.0 等版本齐发,GPU 加速框架 HAT 与虚拟线程生产实践同样值得关注。
🌱 Spring生态
A Bootiful Podcast:Spring Boot 创始人兼负责人 Phil Webb
Spring Boot 4.1 终于落地了期待已久的 Spring gRPC 支持,由框架联合创始人 Phil Webb 亲自拆解。gRPC 一直是这个主导企业级 Java 的技术栈上显眼的缺口,团队不得不手工拼接 protobuf 传输,而可观测性、安全性和服务连接又不断拓宽集成面。这一期从项目创始负责人的视角带你过一遍 4.1 的亮点——MongoDB 批量 starter、安全性、可观测性和服务连接。
📦 版本发布
Embabel Agent Framework 达到 1.0
Jetty 12.1.12
Vert.x 5.1.6
Helidon 4.5.2
Elasticsearch 9.5.0
📖 文章与教程
JDK 24 之后的虚拟线程:生产环境 Java 发生了什么变化
幂等 Spring Boot:一个注解实现安全 REST
幂等 REST 端点通常需要手写的样板代码——请求指纹识别、去重缓存、重试守卫——这类代码很容易在细微处出错。网络重试和客户端双击可能重放同一请求,导致数据损坏或对用户重复扣费。文章展示了单个 Spring Boot 注解如何让端点安全地实现幂等,涵盖配置、去重逻辑以及让手写方案翻车的各种陷阱。
Spring MockMvc 入门
测试 Spring MVC 控制器通常意味着每次运行测试前都要启动完整的应用服务器——而 Spring MockMvc 直接测试控制器层,无需部署。难点在于:当今的技术栈(Spring Boot 4、Spring Framework 7、JUnit Jupiter)提供了两种 API 风格,传统 MockMvc 与较新的 MockMvcTester,各有其核心类,且依赖配置在 Maven 与 Gradle、独立运行与 Boot 管理之间各不相同。本教程带你走遍两种风格、它们的核心组件,以及编写第一个控制器测试前所需的 spring-test 配置。
编写 Thymeleaf 组件库——第 2 部分
如何创建 Spring Boot 欺诈评分服务
Jakarta Agentic AI 达成首个里程碑
Java 转向更高频安全更新
Java 安全补丁长期遵循可预测的季度节奏——一月、四月、七月、十月——久到团队都围绕它安排发布周期;Oracle 现在打算用更高频的更新打破这一节奏。更快地修复关键漏洞能缩短暴露窗口,但每一次额外更新都迫使企业针对整个 Java 资产重跑回归与兼容性测试。文章从头到尾解释了这一转变:新节奏是什么样的,以及它如何重塑你的打补丁节奏。
IntelliJ IDEA 拥抱 LSP:Java 与 Kotlin 智能降临 VS Code、Cursor 与智能体流程
JetBrains 正在将 IntelliJ IDEA 的 Java 与 Kotlin 智能以 LSP 扩展的形式提供给 VS Code、Cursor 及其衍生编辑器——这家占据主导地位的 Java IDE 终于向竞争对手的编辑器开放了它的语言引擎。这一举措由 agentic 开发驱动:随着智能体接管实现工作,开发者只需要导航、引用、补全、重命名等窄而精的功能,而 LSP 服务器能为智能体自身提供更快、更确定且 token 消耗更低的结果。文章介绍了新的 Java & Kotlin by IntelliJ IDEA 扩展、通过 Marketplace 和 Open VSX 安装的方式,以及内部试验证明同一 LSP 功能能显著改进 Claude Code 和 Codex 这类基于终端的 agentic 工作流。
Codename One JavaScript 移植版现已免费开源
Codename One 的 JavaScript 移植版——在浏览器中运行同一套 Java 移动端 UI 的工具链——在作为闭源商业产品多年后,现已免费开源。对大多数团队而言,浏览器曾是一扇锁死的门:从 Java 通往 Web 的唯一现实路径是付费许可,而替代方案是维护一套与移动端应用渐行渐远的 JavaScript 第二 UI 代码库。文章解释了团队为何构建这个移植版、免费开源发布背后的考量,以及 Java 开发者现在能用它做什么。
回顾 STF 资助并展望未来
十六个月的全职、政府资助的 JUnit 工作——维护者的结论毫不含糊:Sovereign Tech Fund 的投资对开源来说是“巨大胜利”。为开源软件争取公共资金向来很难证明其合理性,然而这里的回报是结构性的而非浮于表面:来自并行执行合作的新的核心团队成员、围绕 Open Test Reporting 的 JUnit–PHPUnit 伙伴关系,以及大量 Kotlin 代码片段贡献。这篇回顾审视了哪些里程碑真正交付了成果、跌回兼职维护的落差感,以及接下来会发生什么。
为 Quarkus 定制 ASCII 艺术启动横幅
每个 Quarkus 应用都会打印完全相同的启动横幅——当十几个服务在三个终端上滚动而过,你根本无法分辨刚重启的是订单服务还是订单历史服务。作者构建了一个 Quarkiverse 扩展来终结这种眯眼辨认:Quarkus Banner 在启动时将你的应用名渲染成不容错过的 ASCII 艺术,可通过文本和字体属性配置。文章带你了解零配置的即插即用依赖,以及内置的 246 种 FIGlet 字体,从整洁商务风到夸张到极致的末日风。
HAT 之下:为 Java 赋能 GPU 加速
Java——一门代码运行在虚拟机中的语言,很少成为 GPU 计算的首选——如今可以通过 HAT 将数据并行工作负载卸载到 GPU 上。HAT 是一个利用 OpenJDK Project Babylon 的代码反射 API 将部分 Java 代码翻译为 CUDA 与 OpenCL 的框架。以往,从 Java 获得 GPU 加速意味着手写原生内核或彻底离开 JVM,开发者需要手动管理生成代码、数据处理和迁移。这场 Oracle Java 团队演讲拆解了 HAT 核心 API 组件,并演示了将数据并行工作负载卸载到 GPU 以获得显著性能提升的实例。
第 64 期:从零构建 JIT 编译器 [AtA]
Java 字节码在运行时被编译为原生机器码——HotSpot 的即时编译器 C1 和 C2,而非解释执行,正是 Java 性能能与任何其他平台匹敌的原因。构建 JIT 编译器意味着押注投机:当 JVM 猜错时由陷阱(trap)恢复,而内联、常量折叠、逃逸分析和标量替换各层叠加启发式与变换,需要随着硬件和工作负载的演进进行细致研究并不断重新评估。本集录制于 JavaOne 2026,这期“Ask the Architects”节目中,Nicolai Parlog 与 Oracle Java 平台组的编译器工程师 Roberto Lozano 坐下来聊了聊从零构建 JIT 编译需要什么。
Quarkus Insights #255:更快、更精简、更可预测——真实世界中的 Quarkus
凌晨 3 点的 Kubernetes 扩容期间,每个新的 Spring Boot pod 需要 5.6 秒启动——这段时间足够请求排队、超时触发,而用户的刷新风暴让一切雪上加霜。罪魁祸首不是 bug,而是几个月前做出的框架初始化决策,在规模化时悄然放大。BMW Romania 的 CTO 用 Spring Boot 和 Quarkus 分别构建了同一个嵌入 ML 情感分类器的服务,然后在 5,000 个并行请求下测量了六项生产指标——启动时间、内存、镜像大小以及 P50/P95/P99 延迟——汇成一份真实数据与云成本核算的速查表。
JVM 上的 WebAssembly:特性演进、性能与向 Endive 的过渡
自动改造 JIT 编译器
免费午餐指南:创意循环
Qodana 2026.2:更多安全、更好覆盖、更少配置
Qodana 2026.2 为代码质量平台新增了后量子密码学检查,同时还能阻止未知许可的依赖继续通过流水线。拉取请求中的覆盖率洞察此前被埋在手动配置之后——团队必须把报告复制到 .qodana/code-coverage——于是没有测试覆盖的新代码行可能在无人注意的情况下被合并,而安全发现则停留在另一个队列里。本次发布涵盖了带 IDE 高亮的变更行最新覆盖率统计、消除配置步骤的覆盖率报告自动检测、自定义安全规则、SABER SAST 基准、默认开启的 Laravel 检查以及 License Audit 质量门禁。
Oracle Java 平台扩展 for Visual Studio Code——26.0.1 版现已可用
重构的经济效益
一位 Thoughtworks CTO 完全用 AI 智能体——Claude Code 和 Cursor——构建了一个 150,000 行的应用,从未审查过代码,结果眼看着它的数据访问层扩散成一个 17,155 行的 Rust 文件,其中每个查询都重复着同样的 HTTP 配置和 JSON 编码。未经审查的 agentic 代码会迅速累积重复,而每新增一个功能都会让文件变得更大,重构本身又要消耗 token。文章将重构重新框定为一道 token 经济学问题——现在花 token 以降低未来智能体工作的 token 成本——并复盘了对那个文件进行重构以证明回报的实验。
指挥家式开发者
AI 没有改变优秀软件的样子——它改变的是稀缺之物,而这稀缺之物正是人类的注意力。多年来我们把 AI 框定为生产力工具,假设瓶颈会沿着交付生命周期从编码转移到设计再到验证;Thoughtworks CTO Rachel Laycock 认为,下一个瓶颈是开发者自身,他们曾经受保护的深度心流时间如今被用来编排智能体。文章把开发者重新定位为管弦乐队的指挥,并审视当稀缺资源是注意力而非代码时,团队必须重新平衡什么。
修复事件溯源中的 bug 真的很难吗?
一个通过了所有测试的费率查询,悄悄损坏了跨越 4 月 1 日旅游税分界线的酒店预订——一段横跨两边的住宿,连 3 月的夜晚也被按新的 7.00 费率收费。修复在当天下午就部署了,但在事件溯源系统中,真正的工作这时才刚刚开始:哪些预订是错的、错了多少、我们该怎么处理它们?这是周二的早晨,支持部门写下“这条预订的价格看起来不对”——而这份手把手指南展示了如何界定损害范围、量化错误,并处理已经生成的数据。
论构建可扩展控制平面
摘要已生成(约 104 词,符合 60-120 词约束),结构如下:
- Hook:控制平面表面“无聊”(记录应存在之物与实存调和),却是分布式系统最难问题的汇聚处,决策决定服务能否在自身增长中存活
- Conflict:从 Cape Town 10 台有名字、可步行处理的服务器,到 EC2/DSQL 控制平面的规模化张力
- Benefit:揭示为控制平面工程师从零设计的 DSQL 构建内幕,作为 Marc Brooker/Marc Bowes DSQL 文章的伴读
该判例已追加到摘要质量记忆文件。
时序数据分层存储之旅:从 Kafka/Flink 流到原生 Cassandra 冷读
GenRec:Netflix 走向 LLM 原生推荐
AI 智能体凭据代理模式(第 2 部分):用 AWS KMS 保护令牌保险库
把凭据从智能体的内存中移出来并不能消除它们——它只是把每一个 GitHub、Slack 和上游 API 密钥集中到一个令牌存储中,CB4A 论文直言不讳地称之为“架构中价值最高的目标”。LiteLLM 供应链 RCE 展示了持有密钥的组件被攻陷时的爆炸半径,而“静态加密”提供不了任何防御,因为被攻陷的进程恰恰就是持有解密能力的那一个。这篇文章回答一个聚焦的问题——当令牌存储进程被完全攻陷时,攻击者能读到存储中的多少内容——方式是通过三种加固方案,从 AWS KMS 实现讲起,并为第 3 部分埋下 OpenBAO/Vault 的伏笔。
引导 AI 迁移的信心技术
用 AI 生成迁移代码现在既廉价又即时——但这恰恰意味着对产出的信心,而非代码生产,已成为遗留系统迁移的真正瓶颈。作者那个由众多忙碌贡献者构建的、有十年历史、约 10,000 行的 Java 代码库复杂、bug 多且测试不足;但 Rust 的强类型、所有权与借用规则、穷尽性检查以及 clippy 的结构化反馈,构成了一个引导 AI 智能体产出稳健代码的理想闭环。文章分享了把那个竞技编程平台迁移到 Rust 时的信心技术:让 AI 承担重活,作者专注于验证质量。
用任务运行器处理常见编码任务
一位开发者跨几十个仓库切换时的准则:永远不要去背另一个技术栈的构建命令。同样的日常任务——安装依赖、构建、lint、格式化、运行测试、迁移数据库——在每个仓库里都需要一段不同的笨拙咒语,无论是 rust fmt、./gradlew build,还是没人记得住的三步迁移咒语。这正是任务运行器存在的意义:bash 脚本、make 以及 mise、just 这样的现代工具,让你在任何代码库里说一声“build”或“lint”就能得到相同的结果。这篇归档文章已按当今工作流刷新,带你了解各种选项,并展示如何让你的肌肉记忆做到每个任务一条命令。
为分析建模设备能力
agentic AI 成功的四大支柱
添加 agentic AI 工具救不了一个地基薄弱的企业——成功的企业总是先打好正确的基础。Agentic 系统依赖上下文、集成、治理和采纳;这些方面薄弱的地方,结果会变得不一致、风险上升、试点无法规模化,而大多数遗留系统从未为自主智能体而设计。Scott Logic 的四大支柱——现代化改造遗留系统、构建强大的数据基础与架构、管理治理与风险、以及让数据访问民主化——展示了如何为智能体与现有系统的交互创建安全通道。
☕ JVM周报
如何创建 Spring Boot 欺诈评分服务
大多数交付 ML 模型的 Java 团队会单独搭建一个 Python 服务并通过 HTTP 调用它——为每次预测额外付出一套运行时、一套部署流水线和一次网络跳转。本教程反其道而行:模型在 Java 中用 Deep Netts 原生训练,序列化到文件,再加载回 Spring Boot bean,把预测变成以微秒计量的进程内方法调用。它不止步于 demo,而是构建了一个生产形态的 HTTP 服务——Kaggle 欺诈数据集、精心选择的决策阈值、线程安全、健康检查、回归测试——并提醒:CI 依赖解析和模型版本管理才是决定它能否撑过第一个月的东西。
往期精选
- Java周刊2026W32 | JDK 28 jlink插件、Spring AI 2.0、Hibernate 7.4、Quarkus 3.37.4、GraalVM 25.2
- Java周刊2026W31 | JDK 28 jlink插件、Java新增CSPU安全更新、Quarkus 3.37.4、Hibernate 7.4逆向工程、KotlinLLM开源
- Java周刊2026W30 | 值类型JDK28预告、SpringAI2.0发布、Metropolis项目终结
- 用 Rust 重写 Bun
- Web前端周刊2026W33 | TanStack Form v2 Alpha、pnpm 12 Rust重写、Fastify 6.0 Alpha
- 2026年8月编程语言排行榜|MATLAB 首次跌出前20
扫码关注「右耳朵猫AI」

浙公网安备 33010602011771号