近些年,随着云计算、微服务和多语言编程的迅速发展,GraalVM作为一项创新性的多语言虚拟机技术,引发了开发者社区和企业界的广泛关注。由Oracle Labs推动的GraalVM项目,旨在提供一个支持多种编程语言的高性能运行环境,借助先进的即时编译器和原生镜像技术,大幅提升程序的启动速度和运行效率。然而,2025年9月,Oracle宣布将GraalVM从Java生态系统的核心产品线中分离,这一举措引发了技术界的热议,也标志着一个重要的转折点。本文将全面解读这一战略调整的背景、原因及其对Java和GraalVM未来的深远影响。 Oracle在20世纪末收购Sun Microsystems之后,逐步整合了Java技术栈的关键组件,尤其是HotSpot JVM,成为Java生态系统的中坚力量。过去十几年间,Oracle不断通过并购和自主研发,推动JVM性能优化和功能扩展。
GraalVM诞生于Oracle Labs,集成了创新的多语言支持和原生镜像编译(Native Image)功能,被视为改写Java运行时性能限制的潜在利器。尽管GraalVM在科研和实验领域取得了诸多突破,但其与主流Java技术的融合始终面临技术兼容性和市场推广挑战。 Oracle在2022年宣布GraalVM开发团队将对齐Java发布节奏,尝试将GraalVM内嵌于Oracle JDK中,期望借助主流Java版本推动GraalVM技术的落地和成熟。然而,历经三年的试验和反馈收集后,Oracle发现GraalVM的某些关键优化只在特定场景下表现优异,未能广泛适应所有Java应用的需求。同时,原生镜像技术尽管提升了启动速度,但存在维护复杂度和生态限制。基于这样的情况,Oracle决定将GraalVM从Java SE产品的支持名单中剔除,转而将资源投入到与OpenJDK社区协作的Project Leyden项目,推动更标准化的Java性能改进。
这一分离举措并非意味着GraalVM技术的终结,而是Oracle希望GraalVM团队将更多精力聚焦于非Java语言支持,比如Python(GraalPy)和JavaScript(GraalJS),充分发挥GraalVM作为多语言执行平台的优势。对于依赖Graal JIT即时编译器的用户,Oracle建议迁移到传统的C2 JIT方案,并提供官方支持协助平稳过渡。此外,原生镜像作为早期采用技术,其功能和相关优化将由OpenJDK的Project Leyden继续演进,致力于成为JDK标准功能的一部分。 这次调整彰显了Oracle对Java核心战略的重新聚焦。Java生态系统庞大且复杂,稳定与兼容性始终是用户关注的重点。通过将GraalVM中实验性较强且适用范围有限的部分剥离,Oracle强化了其主打的Oracle JDK产品线,确保广大Java开发者在日常工作中获得更加可靠和一致的执行体验。
与此同时,开源社区如OpenJDK通过项目Leyden正在推动模块化编译和启动性能的提升,这与GraalVM的理念有异曲同工之妙,未来两者或将实现技术的互补与融合。 从更广阔的视野审视,GraalVM独立发展符合当前编程语言多样化和云原生趋势的需要。随着微服务架构和函数计算普及,支持多语言且具备即时与提前编译能力的运行平台需求愈发突出。GraalVM在非Java语言领域潜力巨大,特别是面向数据科学和前端交互的Python及JavaScript等生态。Oracle此举有助于GraalVM项目得以摆脱Java生态束缚,专注创新研发,提升整体竞争力。 对于企业用户而言,合理规划JDK版本迁移策略尤为关键。
Oracle JDK 24作为最后包含Graal JIT的版本,将不再提供相关产品支持。建议企业优先采用Oracle JDK 25及以上版本,积极试用JEP 514和JEP 515提出的提前编译优化功能,借助Project Leyden持续带来的性能提升。与此同时,Oracle支持团队为迁移过程提供专业帮助,降低切换风险,确保业务系统稳定高效运行。 在开发者社区层面,GraalVM自诞生以来凭借多语言互操作性、低延迟启动和原生拆包能力获得诸多青睐。未来,随着Oracle战略调整,社区应当更多关注GraalVM在多语言应用、函数计算和云边缘应用的落地实践。通过推动开源贡献和生态建设,GraalVM有望实现技术上的突破和商业模式的多元化,助力用户应对日益复杂的应用场景。
此外,GraalVM的分离也反映了整个软件产业对技术生态边界的重新划定趋势。单一语言平台向多语言混合平台的转变,强调了适配和连接不同技术栈的重要性。GraalVM作为桥梁的角色将更为突出,如何同Java生态、云原生技术以及前端框架有效协同,是接下来值得关注的议题。 综上所述,Oracle宣布从Java SE产品路线图中剥离GraalVM技术,是一次深思熟虑的战略调整。其目标在于优化资源配置,推动Java平台性能演进走向标准化,同时为GraalVM释放多语言潜能和创新空间。对于用户而言,这是适应新形势、调整技术架构的重要契机。
未来Java及GraalVM生态的融合与分离,在各自领域将持续推动技术革新与产业发展,值得开发者和企业密切关注和积极参与。 。