Java 24 功能已冻结,进入 Rampdown 第二阶段

createh52个月前 (02-01)技术教程10

作者 | Tim Anderson
译者 | 王强
策划 | Tina

Oracle 的 Java 平台首席架构师 Mark Reinhold 宣布 JDK 24 已处于 Rampdown 第二阶段,这意味着它的功能被冻结了,但现有 JEP(Java 增强提案)后期可能会在“极高”的通过门槛下得到更新。

JDK 24 将于 3 月 18 日发布。它不是长期支持(LTS)版本;下一个 LTS 版本是 JDK 25,预计于 9 月 16 日发布。Reinhold 上周在 OpenJDK 邮件列表中宣布了这一消息。JDK 24 包含 24 个 JEP,其中两个是实验性的,还有八个处于不同的预览阶段。值得注意的是,此版本删除了对 Windows 32 位 x86 的支持。JEP 479 指出,为了简化 JDK 的构建和测试基础架构,所有针对 Windows 32 位 x86 的测试和开发工作都将停止。其他 32 位平台(如 ARM32)仍将受支持,但 Linux 32 位 x86 端口将被弃用,计划在 JDK 25 中删除。

JDK 24 在使用 Java 原生接口(JNI)时引入了警告,JNI 是调用原生代码(例如用 C 编写的库)的长期方法。这里的想法不是弃用 JNI(尽管有一个新的外部函数和内存(FFM)API),而是为 JNI 和 FFM API 提供一致级别的警告。最终目标是希望调用原生代码的开发人员必须“在启动时明确启用 JNI 和 FFM API”,因为 Java 和原生代码之间的任何交互都是有风险的。

JEP 498 在第一次调用 sun.misc.Unsafe 命名空间中的任何内存访问方法时会发出警告。这些方法已被弃用,并将在未来版本中删除,从 JDK 26 开始,只要使用这些方法就会抛出异常。开发人员需要迁移到 FFM API 和 VarHandle API 中的标准 API。

新的性能特性 JEP 483 通过预先加载类来缩短启动时间。应用程序运行一次后会监视和缓存类,以便在下次运行时立即使用它们。完整的提案值得一读(https://openjdk.org/jeps/483);缓存提案的历史可以追溯到 2004 年。根据该提案,使用此特性时,Spring PetClinic 示例的启动速度提高了 42%。

Java 历史的另一段回响出现在 JEP 486 中,它永久禁用了安全管理器。这是 Java 从第一个版本开始的一个特性,默认情况下将所有代码视为不受信任。问题是这个级别的沙盒代码太复杂了,这意味着很少有应用程序会使用它。之前的一个相关 JEP 指出,即使使用具有适用策略文件的框架(例如 Tomcat),“开发人员……仍然面临着几乎无法克服的挑战,即弄清楚他们自己的代码和他们使用的库所需的权限。”

安全管理器默认处于禁用状态,但即使启用它的可能性也会给 JDK 带来开销,从而“给 Java 平台库带来极大的复杂性”。现在这一负担被解除了。

量子计算带来了加密容易被破解的风险。JEP 496 和 497 为密钥封装和数字签名算法引入了抗量子模块。

新特性的完整列表可在此处(https://openjdk.org/projects/jdk/24/)找到。

原文链接

https://devclass.com/2025/01/20/java-24-feature-frozen-as-it-enters-rampdown-phase-two/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

今日好文推荐
做 CTO 还不如自己干?他靠独立开发赢得平静自由的生活,收入比当 CTO 还高!
卖身、豪赌Killer App的AI 厂商:被“吊”麻了,明年咋活?
B站员工向代码投毒“封杀”用户账号,并放话:“拿着一天几千的工资整你”!现已被开除
突发!TikTok恢复在美服务,被困12小时后重获新生

相关文章

java 整合jsch使用 远程交互服务器

#头条创作挑战赛#背景java 通过jsch 远程执行命令 jsch 主要是类似Xshell 只不过是代码级别使用,而 Xshell使用界面化jsch可以执行任何shell 脚本,但是弊端是执行一次必...

Arduino通过串口透传ESP 13板与java程序交互

ESP 13 --- 是一个无线板子,配置通过热点通信Arduino通过串口透传ESP13板与java程序交互这个程序最基本的想法是用java把Arduino抽象出来,忙活了好几天,虽然没有达到最后的...

Java业务系统是怎么和MySQL交互的?

很多crud boy眼中的数据库:但使用MySQL时,总会遇到各种烦人问题,什么偶尔死锁、性能丢人、各种异常报错。一般人都会Google博客,尝试解决问题,最后虽然是解决了问题,但可能也没搞懂背后原理...

Java 动态编译技术在低代码平台中的应用:开启高效开发新范式

在当今数字化转型的浪潮中,低代码平台以其能够快速构建应用程序的特性,受到了众多企业的青睐。而 Java 动态编译技术的融入,更是为低代码平台增添了强大的灵活性与扩展性,使其能够应对更为复杂多样的业务需...

kotlin和java开发哪个好,优缺点对比

Kotlin 和 Java 都是常见的编程语言,它们有各自的优缺点。Kotlin 的优点:简洁:Kotlin 程序相对于 Java 程序更简洁,可以减少代码量。安全:Kotlin 在类型系统和空值安全...