Java 新版本发布:JDK 23 有哪些变化

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

Java 新版本发布:JDK 23 有哪些变化



开发者社区迎来了期待已久的 JDK 23 版本——Java 平台的又一次定期更新。虽然该版本并非长期支持(LTS)版本,但它带来了一系列重要的新特性,这些特性现在就能简化 Java 开发者的工作。让我们来看看有哪些变化,以及为什么值得尽快升级。



JDK 23 的关键变化



新版本专注于提升性能、安全性和开发便利性。以下是主要新特性:



  • 灵活的构造函数体(预览版)。 一项期待已久的功能,允许在调用父类构造函数之前编写逻辑。以前由于 JVM 的限制,这是不可能的。现在,您可以在调用 super() 之前执行检查和字段初始化,使代码更简洁、更安全。
  • 模块导入声明(预览版)。 一项新功能,允许通过一条语句导入所有模块。无需编写数十行 import 语句,您只需编写 import module java.base;。这大大减少了样板代码,尤其是在使用标准库时。
  • Stream Gatherers(预览版)。 Stream API 的强大扩展。现在,您可以为数据流创建自定义的中间操作。这为自定义操作开辟了道路,而这些操作以前需要编写复杂的收集器或归约操作。
  • 弃用 Security Manager。 Oracle 的最终决定是在未来版本中移除 Security Manager。在 JDK 23 中,它已被标记为“待移除”的弃用项。建议开发者迁移到现代替代方案,例如 Java 模块系统(JPMS)和操作系统级别的安全策略。


性能和 JVM 改进



除了语言层面的新特性,JDK 23 还带来了一系列底层优化:



  • Vector API(第八次孵化)。 向量化计算的工作仍在继续。新的孵化器改进了对 SIMD 指令的支持,这对于科学计算和图像处理至关重要。
  • G1 的区域固定。 G1 垃圾回收器的改进——现在它可以“固定”堆中的对象,而不会阻塞整个回收过程。这减少了实时系统和低延迟应用程序中的延迟。
  • 字符串模板(预览版)。 改进的字符串插值,允许将表达式安全地嵌入到字符串字面量中。这不仅是语法糖,还能在处理查询时防止 SQL 注入。


这对开发者意味着什么?



JDK 23 是迈向更现代、更具表现力的 Java 的一步。虽然许多功能仍处于预览状态,但您已经可以通过启用相应的编译器标志在生产环境中进行测试。我们建议从 Stream Gatherers 和 灵活的构造函数体 开始——它们在日常开发中最受欢迎。



如果您使用的是 Java 17 或 21(LTS 版本),则不必强制升级到 JDK 23,但为了解语言的未来,升级是非常有益的。请关注 PythonLib 上的更新——我们将继续为您报道 Java 世界中最重要的变化。

推荐库