22.1.0 发布
龙芯荣幸宣布基于 OpenJDK 22 的龙芯平台 Java 环境发布。
Java 22 包含 12 个新的 JEP(JDK Enhancement Proposal,即JDK增强建议):
- 423: Region Pinning for G1
- 447: Statements before super(...) (Preview)
- 454: Foreign Function & Memory API
- 456: Unnamed Variables & Patterns
- 457: Class-File API (Preview)
- 458: Launch Multi-File Source-Code Programs
- 459: String Templates (Second Preview)
- 460: Vector API (Seventh Incubator)
- 461: Stream Gatherers (Preview)
- 462: Structured Concurrency (Second Preview)
- 463: Implicitly Declared Classes and Instance Main Methods (Second Preview)
- 464: Scoped Values (Second Preview)
此次龙芯发布的 22.1.0 对应上游 GA (General-Availability) 版本 22+36。关于 Java 22 更详细的内容请见https://www.oracle.com/java/technologies/javase/22-relnote-issues.html。
在 22.1.0 中,龙芯团队针对 LoongArch 平台进行了新功能开发和优化,一些主要内容如下。
通过 TCK,符合 Java SE 22
龙芯是具有 TCK 权限的少数几家公司之一 [1]。此次发布的龙芯平台 Java 22 环境经过 TCK 验证符合 Java SE 22,新应用程序和现有应用程序无需修改即可运行。
JEP 454: Foreign Function & Memory API 支持
Foreign Function & Memory API 使 Java 程序更容易与 Java 运行时之外的代码和数据进行互操作。这个新的 API 支持 Java 程序在无需 JNI (Java Native Interface) 的情况下调用本地库和处理原生数据,从而为开发人员提高了易用性、灵活性、性能和安全性。此次发布的版本包含了相关 JEP 在 LoongArch 平台上的实现。
Intrinsics 优化
此次发布的版本中,龙芯针对 LoongArch 平台的指令特点,完成了一些 Intrinsics 优化,这些优化包括:
- VectorMask.laneIsSet Intrinsics优化
- Poly1305 Intrinsics优化
通过这些优化,JMH Microbenchmarks 中的部分相关测试用例得到成倍提升。
[1] https://openjdk.org/groups/conformance/JckAccess/jck-access.html