标签 Spring Framework 下的文章

OpenJDK

JEP 527,TLS 1.3的后量子混合密钥交换,在 JDK 27 中已从 Proposed 提升 Targeted 状态。这个 JEP 提议使用正在由互联网工程任务组(IETF)起草的 TLS 1.3 规范中的混合密钥交换,增强 RFC 8446,传输层安全(TLS)协议版本1.3的实现,与 JEP 496,量子抵抗模块格的密钥封装机制,其在 JDK 24 中交付。

 

Oracle 发布了 JDK 的 25.0.2、21.0.10、17.0.18、11.0.30 和 8u481 版本,作为 2026 年 1 月季度关键补丁更新咨询的一部分。关于该版本的更多细节可以在25.0.221.0.1017.0.1811.0.308u481版本的发布说明中找到。

 

JDK 26

JDK 26 的早期访问构建版本Build 32在上周发布,包括从 Build 31 的更新,修复了各种问题。关于该版本的更多细节可以在发布说明中找到。

 

JDK 27

JDK 27 的早期访问构建版本 Build 6 也在上周发布,包括从 Build 5 的更新,修复了各种问题。关于该版本的更多细节可以在发布说明中找到。

 

对于JDK 26JDK 27,鼓励开发者通过Java Bug数据库报告缺陷。

 

GlassFish Grizzly

GlassFish Grizzly5.0.0GA版本发布,这是一个旨在扩展Java NIO API能力的框架,带来了显著的变化,如:JDK 21 基线;在 Grizzly 线程池中使用新的virtualthreadexexecutorservice类来支持虚拟线程;并支持Jakarta Servlet 6.1规范。关于该版本的更多细节可以在发布说明中找到。

 

Jakarta EE

在每周的Hashtag Jakarta EE博客中,Eclipse 基金会的 Jakarta EE 开发者倡导者Ivar Grimstad提供了 Jakarta EE 12 的更新,他写道:

 

Jakarta EE 的每个主要版本都被赋予了一个主题,或者是一个特征性的口号。对于 Jakarta EE 9,关键词是“低准入门槛-创新平台-轻松迁移”,对于 Jakarta EE 10,它是“现代化-简化-轻量级”。Jakarta EE 11 的口号是“开发人员的生产力和性能”。

 

当我们讨论即将发布的 Jakarta EE 12 版本该使用什么口号时,选择落在了“健壮和灵活”上。无论我们谈论的是哪个版本,这都非常适合 Jakarta EE,但更适合 Jakarta EE 12,因为它现在比以往任何时候都更加健壮,这是其转移到 Eclipse 基金会以来的第四个主要版本。

 

通往 Jakarta EE 12 的道路包括四个里程碑版本,其中第一个版本已于 2025 年 12 月交付,计划于 2026 年 7 月发布 GA 版本。

 

BellSoft

与 Oracle 的 2026 年 1 月的关键补丁更新(Critical Patch Update,CPU)同时,BellSoft 为Liberica JDK的 25.0.1.0.1、21.0.9.0.1、17.0.17.0.1、11.0.29.0.1、8u481 7u491 和 6u491 版本发布了 CPU 补丁,以解决这个CVEs列表。此外,包含 CPU 和非关键修复的补丁集更新(PSU)版本 25.0.2、21.0.10、17.0.18、11.0.30 和 8u481 也已发布。

 

BellSoft 表示,他们总共有 1217 个修复和回溯,参与消除了所有版本中的 21 个问题。

 

GraalVM

同样,GraalVM 25.0.2,第二个维护版本也与 Oracle 的 2026 年 1 月 CPU 同时发布,解决了一些显著的问题,如:JDK Flight Recorder 中的 Translation-Lookaside Buffer(TLB)事件的内存泄漏;以及循环向量化的误编译,导致结果不正确。

 

团队还放弃了对 macOS x64 的支持。这个新版本只支持 macOS AArch64。

 

关于该版本的更多细节可以在发布说明中找到。

 

Spring 框架

对于 Spring 来说,这是忙碌的一周,因为各个团队都发布了第一个里程碑式的版本:Spring Boot;Spring BootSpring SecuritySpring IntegrationSpring ModulithSpring AMQP,以及Spring AI的第二个里程碑版本。更多细节可以在 InfoQ 的新闻报道中找到。

 

Payara

Payara 发布了其 2026 年 1 月版的Payara Platform,其中包括社区版 7.2026.1,企业版 6.34.0 和企业版 5.83.0。除了缺陷修复和组件升级,这三个版本都专注于两个 CVE 的解决方案,即:CVE-2020-5258,这是Dojo中的一个漏洞,允许攻击者将属性注入到 JavaScript 中现有的语言构造原型中,并通过注入其他值来操纵这些属性以覆盖或污染JavaScript 应用程序对象原型;以及允许攻击者通过恶意 URL 有效载荷接管 Payara 管理帐户的漏洞。关于这些版本的更多细节可以在社区版7.2026.1、企业版6.34.0和企业版5.83.0的发布说明中找到。

 

OpenXava

OpenXava7.6.4 版本的发布包含了缺陷修复、文档改进、依赖升级和新功能,例如:改进了嵌入式 Apache Tomcat 的启动时间;以及在Strings类中定义了一个新的toString(Locale, Object)方法,该方法与其他重载的toString()方法一起,用于转换具有本地化意识的字符串。关于该版本的更多细节可以在发布说明中找到。

 

JetBrains Ktor

JetBrainsKtor3.4.0 版本的发布提供了缺陷修复和新特性,例如:一个新的 API,describe,它与一个新的编译器插件一起动态生成并记录 OpenAPI 端点;以及一个新的ktor-server-compression-zstd模块,支持Zstd压缩算法。关于该版本的更多细节可以在发布说明中找到。

 

原文链接:

https://www.infoq.com/news/2026/01/java-news-roundup-jan19-2026/

分享给 Java 开发者的 Claude Code Rules & Skills

Claude Code 上下文的完整加载机制

优先级路径说明
1企业策略/Library/Application Support/ClaudeCode/CLAUDE.md (macOS)
2项目规则./.claude/rules/*.md(递归扫描)
3项目内存./CLAUDE.md./.claude/CLAUDE.md
4本地项目内存./CLAUDE.local.md(gitignore,个人配置)
5用户内存~/.claude/CLAUDE.md
6用户规则~/.claude/rules/*.md(递归扫描)

优先级规则

  • 项目规则 > 用户规则(冲突时项目规则覆盖全局)
  • 支持子目录组织:~/.claude/rules/frontend/*.md 也会被递归发现

Claude Code 的代码编写规范限制

从上面的加载机制中,可以很快地出结论,可以将我们的某类开发语言 (Go / Java / Vue) 的规范放到项目规则或项目内存中

所以我就会把我的我的规范 md 放到项目的 .claude/rules 文件夹中 (其实也可以放到全局的规则文件夹中,我一开始也是放到全局规则文件夹中,后面项目多了才放到项目规则文件夹中),得到如下

放入后,重启一下 Claude Code,然后使用 /memory 查看一下,有没有加载到你添加的规则文件

可以参考的 java-spring 规范 md,都是用 Claude Code 以来,很多 CC 不怎么遵守的,根据自己的项目与实际情况微调一下

规则 Gists: https://gist.githubusercontent.com/anlostsheep/b2a6e9d24c5b67b50fdeb1dcec4182ea/raw/cda9755a31a3f20aef211279cda38c0f5360ad92/java-spring.md

为什么不用 Skill 做代码编写规范?

确实使用 skill 更符合现在的方向,减少使用 tokens 以及上下文占用,

但是 skill 的调用如果是自动调用的情况下,不管是 opus 或者 sonnet 都会选择性执行 (模型要想偷懒),触发都是不稳定的,除非显式地在 prompts 中说明调用,但是 prompts 中我们更多是跟模型对话一整个功能的实现,很少会说:帮我修改 xx 类 / 帮我优化一下这个类的代码

所以我选择把这个 skill 做成一个代码审查的操作,然后每次代码完成输出后,显式地调用这个 skill 进行审查

按照这样的格式构建 skill 文件夹 java-review, 文件夹放入 SKILL.md,得到如下:

显式执行效果:

skill Gists: https://gist.githubusercontent.com/anlostsheep/be83fea55777c932267d2ba2a4ee7395/raw/c14f226b138517199d70367452f16314629a916d/SKILL.md

hook 函数

skill 的方式始终触发不稳定情况,可以添加一个 hook 函数,让 Claude Code 再每次执行了新增 / 修改操作的工具时收到一个提示 (也可以放到 git 提交的时候触发,根据自己实际情况修改),修改到了 java 代码,需要执行 java-review 进行规范审查,不过最终模型也会根据这个修改的文件复杂程度来决定是否触发这个 skill (简而言之就是想省事一点)

修改配置文件: ~/.claude/setting.json,补充一下这个 PostToolUse

"hooks": { "PostToolUse": [ { "hooks": [ { "command": "filepath=\"$CLAUDE_FILE_PATH\"; if [[ \"$filepath\" == *.java ]]; then echo '⚠️ [Java文件修改] 建议执行 /java-review 进行代码审查'; fi", "type": "command" } ], "matcher": "Edit|Write|MultiEdit" } ] } 

效果:

claude-code-guide Agent 的妙用

这个子 Agent 是 Claude Code 内置的指导使用 Claude Code 的代理,有很多我不明白怎么使用 Claude Code 的地方我都会使用这个代理进行分析

比如:

  • 配置 Hook 的环境变量不生效,提问解决

  • 插件配置问题导致启动失败 (claude-mem)

对于配置和使用 Claude Code 方面,相关的问题还是十分好解决的,


📌 转载信息
原作者:
lostsheep
转载时间:
2026/1/21 21:46:45