Oracle的Java团队在2026年将致力于实现多个重要里程碑,包括预览值类型、孵化代码反射、交付AOT(提前编译)代码编译,以及最终确定结构化并发API。
这些工作以及OpenJDK项目下的许多其他努力,例如Project Loom(探索JVM(Java虚拟机)功能和API以实现轻量级用户模式线程)和Project Valhalla(通过值对象增强Java对象模型),都在Oracle Java开发者倡导者Nicolai Parlog于1月8日发布的视频演示中被提及。不过,这些功能的开发工作并不意味着它们一定会在2026年发布。
Project Leyden与AOT编译
AOT代码编译是Project Leyden的一部分,该项目旨在改善Java程序的启动时间、达到峰值性能的时间以及内存占用。AOT代码编译的目标包括通过在HotSpot JVM启动时立即提供来自先前应用程序运行的本机代码,来改善启动和预热时间。Project Leyden还将探索代码缓存的可移植性和迭代训练,允许框架训练缓存。训练数据的可检查性也将被研究。
Project Amber的语言特性计划
Project Amber专注于提供更小、面向生产力的Java语言特性,其计划包括探索字符串模板,并为常量模式和接口提交JEP(JDK增强提案)。还可能会有关于类记录式类和接口以及更包容的模式匹配的更新。
Project Loom的并发编程进展
关于Project Loom,Parlog表示,用于并发编程的结构化并发API将在JDK 26中进行小幅修改后预览,并可能在年底前最终确定。目前处于减速阶段的JDK 26计划于3月17日正式发布。Loom的议程还包括探索虚拟线程的更多应用。
Project Panama的互操作性改进
对于专注于改善JVM与非Java API之间连接的Project Panama,计划用于JDK 26的向量API将进行第11次孵化。Panama在2026年的议程还包括对jextract工具的全面改进,该工具用于解析本机库的头文件并生成代码。外部函数和内存API也将进行改进,该API使Java程序能够与Java运行时之外的代码和数据进行互操作。
Project Babylon的代码反射
Project Babylon旨在将Java扩展到SQL等外部编程模型,其计划包括孵化代码反射,这允许第三方框架反射lambda表达式中的Java代码并对其进行处理。Babylon团队还将致力于使用代码反射在GPU上运行机器学习模型的概念验证。
Project Valhalla的值类型
在Project Valhalla方面,开发人员将致力于在今年下半年交付值类型的预览版,之后工作将集中在空值感知类型、数组改进以及基本类型和包装器的统一上。值对象是只有最终字段且缺乏对象标识的类实例。它们允许开发人员选择加入域值的编程模型,在该模型中,对象仅通过其字段的值来区分。
Q&A
Q1:Oracle在2026年Java开发计划中的主要目标是什么?
A:Oracle的Java团队在2026年将致力于实现多个重要里程碑,包括预览值类型、孵化代码反射、交付AOT(提前编译)代码编译,以及最终确定结构化并发API。这些工作涉及多个OpenJDK项目,如Project Loom、Project Valhalla、Project Leyden、Project Amber、Project Panama和Project Babylon。
Q2:Project Leyden的AOT代码编译有什么作用?
A:AOT代码编译是Project Leyden的一部分,旨在改善Java程序的启动时间、达到峰值性能的时间以及内存占用。其目标是通过在HotSpot JVM启动时立即提供来自先前应用程序运行的本机代码,来改善启动和预热时间。该项目还将探索代码缓存的可移植性和迭代训练功能。
Q3:Project Valhalla的值类型什么时候会发布预览版?
A:根据计划,Project Valhalla的开发人员将致力于在2026年下半年交付值类型的预览版。值对象是只有最终字段且缺乏对象标识的类实例,它们允许开发人员选择加入域值的编程模型,在该模型中,对象仅通过其字段的值来区分。预览版发布后,工作将集中在空值感知类型、数组改进以及基本类型和包装器的统一上。