OpenJDK 生态系统2024年11月4日周动态总结
在2024年11月4日这一周,OpenJDK生态系统中有多个重要动态,主要包括:五个JEP(JDK Enhancement Proposal)已完成评审,Targeted 用于JDK 24;五个新的JEP被Proposed to Target,将在2024年11月11日这一周进行评审;两个JEP草案被提升为Candidate状态。
Targeted(已确定纳入JDK 24)
- JEP 493 - Linking Run-Time Images without JMODs:该JEP旨在通过使
jlink
工具能够在不使用JDK的JMOD文件的情况下创建自定义运行时镜像,从而将JDK的大小减少约25%。此功能必须在构建JDK时显式启用。 - JEP 491 - Synchronize Virtual Threads without Pinning:该JEP旨在通过安排虚拟线程在同步方法或语句中阻塞时释放其底层平台线程,从而提高使用同步方法和语句的Java代码的可扩展性,消除虚拟线程被绑定到平台线程的情况。
- JEP 488 - Primitive Types in Patterns, instanceof, and switch (Second Preview):该JEP是Project Amber的一部分,提议进行第二轮预览,允许在所有模式上下文中使用原始类型模式,并扩展
instanceof
和switch
以支持所有原始类型。 - JEP 486 - Permanently Disable the Security Manager:该JEP提议永久禁用
SecurityManager
类,该功能在JDK 17中被弃用,现在将完全移除。 - JEP 450 - Compact Object Headers (Experimental):该JEP受Project Lilliput启发,提议在64位架构上将HotSpot JVM中的对象头大小从96到128位减少到64位。此功能默认禁用,因为它处于实验阶段。
Proposed to Target(提议纳入JDK 24)
- JEP 495 - Simple Source Files and Instance Main Methods (Fourth Preview):该JEP提议进行第四轮预览,旨在使初学者能够编写程序而无需理解大型程序所需的语言特性。
- JEP 494 - Module Import Declarations (Second Preview):该JEP提议进行第二轮预览,旨在简化模块库的重用,允许通过模块导入声明导入模块的所有包。
- JEP 492 - Flexible Constructor Bodies (Third Preview):该JEP提议进行第三轮预览,允许在构造函数中的
this()
或super()
调用之前放置不引用正在创建的实例的语句。 - JEP 483 - Ahead-of-Time Class Loading & Linking:该JEP旨在通过在HotSpot JVM启动时使应用程序的类立即可用,从而改善启动时间。
- JEP 479 - Remove the Windows 32-bit x86 Port:该JEP提议完全移除Windows 32位x86端口,以简化OpenJDK的构建和测试基础设施。
New JEP Candidates(新的JEP候选)
- JEP 497 - Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm:该JEP提议通过实现量子抗性的模块格基数字签名算法(ML-DSA)来增强Java应用程序的安全性。
- JEP 496 - Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism:该JEP提议通过实现量子抗性的模块格基密钥封装机制(ML-KEM)来增强Java应用程序的安全性。
JDK 24功能集及发布时间表
JDK 24的发布时间表如下:
- Rampdown Phase One(从主分支分叉):2024年12月5日
- Rampdown Phase Two:2025年1月16日
- 初始发布候选版本:2025年2月6日
- 最终发布候选版本:2025年2月20日
- 正式发布:2025年3月18日
目前,JDK 24的功能集已包含19个JEP,超过了JDK 16和JDK 11的17个功能。开发者可以通过Java Bug Database报告问题。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。