OpenJDK 生态系统动态(2024年10月21日当周)
在2024年10月21日当周,OpenJDK 生态系统内出现了多项重要活动,主要涉及JDK 24的JEP(JDK Enhancement Proposal)进展。以下是主要内容的总结:
已确认的JEP
Stream Gatherers (JEP 485)
- 状态:已从“Proposed to Target”提升为“Targeted”状态,确认将包含在JDK 24中。
- 内容:该JEP旨在增强Stream API,支持自定义中间操作,使流管道能够以现有内置操作难以实现的方式转换数据。
- 背景:此前已在JDK 22(JEP 461)和JDK 23(JEP 473)中进行了两次预览。
提出目标(Proposed to Target)的JEP
以下四项JEP已从“Candidate”状态提升为“Proposed to Target”状态,将在2024年10月28日当周进行评审:
ZGC: Remove the Non-Generational Mode (JEP 490)
- 内容:提议移除Z Garbage Collector(ZGC)的非分代模式。分代模式已在JDK 23中成为默认模式(JEP 474)。
- 目的:移除非分代模式可以减少维护负担,并加速分代模式的新功能开发。
- 评审截止日期:2024年10月29日。
Scoped Values (Fourth Preview) (JEP 487)
- 内容:提议进行第四次预览,旨在支持在线程内和线程间共享不可变数据,尤其适用于大量虚拟线程的场景。
- 变化:移除了
callWhere()和runWhere()方法,API更加流畅。 - 评审截止日期:2024年10月30日。
Key Derivation Function API (Preview) (JEP 478)
- 内容:引入密钥派生函数(KDF)API,支持从密钥和其他数据派生额外密钥。
- 目的:允许安全提供商以Java或原生代码实现KDF算法,并支持JEP 452(密钥封装机制)的实现。
- 评审截止日期:2024年10月31日。
Generational Shenandoah (Experimental) (JEP 404)
- 内容:提议将分代Shenandoah垃圾回收器作为实验性功能包含在JDK 24中。
- 背景:原计划包含在JDK 21中,但因评审风险和时间不足被移除。
- 评审截止日期:2024年10月30日。
新JEP候选者
以下三项JEP草案已提升为“Candidate”状态:
Simple Source Files and Instance Main Methods (Fourth Preview) (JEP 495)
- 内容:提议进行第四次预览,旨在简化Java语言,使学生无需理解复杂语言特性即可编写程序。
- 背景:此前已在JDK 21、22、23中进行了三次预览。
Module Import Declarations (Second Preview) (JEP 494)
- 内容:提议进行第二次预览,增强Java语言的模块导入功能,简化模块化库的复用。
- 变化:移除了对
java.base模块的传递依赖限制,允许类型导入声明遮蔽模块导入声明。
Linking Run-Time Images without JMODs (JEP 493)
- 内容:提议通过不使用JMOD文件,使
jlink工具能够创建自定义运行时映像,从而减少JDK的大小约25%。 - 目的:开发者可以从本地模块链接运行时映像,无论模块位于何处。
JDK 24发布计划
JDK 24的发布计划已由Oracle Java平台组首席架构师Mark Reinhold批准,具体时间如下:
- Rampdown Phase One:2024年12月5日
- Rampdown Phase Two:2025年1月16日
- 初始发布候选版本:2025年2月6日
- 最终发布候选版本:2025年2月20日
- 正式发布:2025年3月18日
开发者可通过Java Bug数据库报告JDK 24中的问题。
以上是2024年10月21日当周OpenJDK生态系统的主要动态总结。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。