欢迎光临散文网 会员登陆 & 注册

你的下一代Java发行版之选,GraalVM宣布全面免费使用,提供数倍的性能提升

2023-06-16 14:08 作者:レム丶  | 我要投稿

    2023年6月14日,Oracle宣布其开发的Java分支Oracle GraalVM现在遵循许可 https://www.oracle.com/downloads/licenses/graal-free-license.html 可免费使用[1]。与之前区分社区版和企业版的方式不同,现在不再区分版本且全部免费。

    GraalVM是一个高性能的JDK,可用于加速运行用Java和其他JVM语言编写的应用程序。提供两种运行Java程序的方式:在HotspotVM中的Graal Just-In-Time(JIT)编译器,以及Ahead-Of-Time(AOT)的本地可执行文件。

    GraalVM相对于其他JDK,具有预先编译(AOT) 将基于 Java 和 JVM 的代码转换为本机平台可执行文件(Native Image)的技术,这将意味着通过Native Image编译转换后的程序无需JVM即可运行。Oracle声称生成的二进制文件比JAR包更小,启动速度快100倍,无需预热即可提供峰值性能,并且比运行在Java虚拟机(JVM)上的应用程序使用更少的内存和CPU。(注:该功能仍在Beta中,目前已有Micronaut, Spring, Quarkus, Helidon, H2, GraphQL, MariaDB, Netty, MySQL, Neo4j, PostgreSQL, Testcontainers, Thymeleaf等应用程序提供官方支持)。

    即使在不使用AOT将应用程序编译为二进制文件的情况下,Graal 编译器(JIT)通过独特的代码分析和优化方法为运行在 JVM 上的程序提供优化的性能。它包括多种优化算法(称为“阶段”),如激进内联、多态内联等。Graal 编译器能够消除昂贵的对象分配,从而确保高度抽象程序的性能优势。使用更多抽象和现代 Java 功能(如 Streams 或 Lambdas)的代码将获得更大的加速。低级代码或汇聚到 I/O、内存分配或垃圾收集等方面的代码将获得较小的改进。因此,在 GraalVM 上运行的应用程序需要花更少的时间进行内存管理和垃圾收集。

    相对于已有的OpenJDK,原Graal社区版提供1.04倍的性能提升,Graal企业版提供1.3倍的性能提升(基于Renaissance Suite的测试结果)。现在普通用户也可免费使用GraalVM企业版的所有功能,即使在不调整代码的情况下,替换原有的JVM也能有不错的表现。


[1] GraalVM 官网, https://www.graalvm.org

[2] GraalVM 开源, https://github.com/oracle/graal

你的下一代Java发行版之选,GraalVM宣布全面免费使用,提供数倍的性能提升的评论 (共 条)

分享到微博请遵守国家法律