GraalVM 19.3 发布,支持 JDK 11 与 ARM64 架构
GraalVM 19.3 发布了。GraalVM 是一个高性能跨语言虚拟机,用于运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言,如 Java、Scala、Kotlin 和基于 LLVM 的语言,如 C 和 C++。
GraalVM 消除了编程语言之间的隔离,并支持共享运行时的互操作性。它可以独立运行,也可以在 OpenJDK、Node、Oracle 或者 MySQL 上运行。
GraalVM 19.3 是从项目主线构建的第一个计划长期支持(LTS)版本,也是一个主要功能版本,建议所有用户升级。LTS 状态可以确保稳定性、安全性和性能修复程序将从当前分支向后移植,直到下一个 LTS 版本出现为止。
此版本基于 JDK 11,同时也是第一个支持 JDK 11 的 GraalVM 版本,考虑到 JDK 8 和 JDK 11 之间比较大的区别,这其实代表了一个重要的里程碑。特别是 JDK 9 中引入的 Java 平台模块系统(JPMS,Java Platform Module System)意味着 GraalVM 现在使用模块封装来隔离代码以隔离诸如 JVMCI、GraalVM 编译器和应用程序代码中的 Truffle API。此外,这也意味着 JDK 11 上的 GraalVM 包含自 JDK 8 以来的所有 JDK 更改。
关于 JDK 11,此次发布还提供了基于 JDK 11 的支持 ARM64 架构的 GraalVM 社区版的预览,它包括对所有 JVM 语言的支持,其它语言支持将在不久后提供。
该发行版包括现成的 GraalVM 本地镜像,可立即构建启动应用程序,这些应用程序在 ARM64 环境中消耗的内存更少,不过目前存在一些限制,比如 npm 和 node 不支持 runtime 代码安装。
GraalVM 19.3 切换为使用 JDK 本地代码,而不是手动替换。GraalVM 本地镜像切换到 Java 本地接口(JNI)平台使它有可能提供对 JDK 11 的支持以及对 Windows OS 的扩展支持。这对启动时间或内存占用量没有影响,并且消除了将 JDK 库(例如 libsunec.so)与使用 Java 加密服务的本地镜像一起交付的需要。GraalVM 现在附带了 JDK 库的可静态链接版本。
同时,通过本地镜像 Maven 插件支持将 GraalVM 本地镜像与 Maven 一起使用,这意味着用户可以使用 mvn package 命令直接使用 Maven 构建项目及其本地镜像。从 GraalVM 19.3 开始,用于 GraalVM 本地镜像相关工件(包括插件)的 Maven <groupId> 从 com.oracle.substratevm 更改为 org.graalvm.nativeimage:
<plugin> <groupId>org.graalvm.nativeimage</groupId> <artifactId>native-image-maven-plugin</artifactId> <version>19.3.0</version> <executions> <execution> <goals> <goal>native-image</goal> </goals> <phase>package</phase> </execution> </executions> <configuration> <skip>false</skip> <buildArgs> --no-fallback </buildArgs> </configuration> </plugin>
GraalVM 编译器方面的改进包括:
- 改进了 System.arraycopy,以消除复制到 Object[] 时的存储检查。这项改进解决了某些 Eclipse Collections 基准测试的速度下降(相对于 C2)的问题。
- 通过更优化的内联修复了在 Scala 中创建列表值时的性能下降。
- 修复了可能阻止包含旧版 Javac 版本产生的 JSR 字节码的方法被编译的问题。
此外关于各个语言的支持与工具支持的变化,详情查看更新说明:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Maesh 1.0.0 发布,基于 Traefik 的 Service Mesh 方案
Maesh 1.0.0 发布了。Maesh 是一个简单但功能齐全的 Service Mesh,它基于容器原生,构建在Traefik之上。Maesh 支持最新的 Service Mesh Interface 规范 SMI,有助于与现有解决方案集成。此外,Maesh 默认可用,这意味着现有服务不会受到影响。 此版本更新内容包括: 快速入门指南中添加演示示例 添加平台建议 绑定SMI CRD 与 helm 使用 netlify toml 配置执行 HSTS 修复 SMI 与 Kubernetes 提供程序中的 panic 详情查看更新说明: https://github.com/containous/maesh/releases/tag/v1.0.0
- 下一篇
GNOME 3.35.2 正式发布
GNOME 3.35.1于上月进行了发布,现如今,GNOME 3.35.2版本也已正式发布。据悉,根据GNOME wiki上的官方发布计划,GNOME 3.36将于 2020 年 3 月 11 日发布。而在这之前,3.35.x则会作为不稳定的开发系列,用于测试并最终达到稳定版本。 此次发布的 GNOME 3.35.2版本包含的更新内容有: Epiphany(GNOME Web)放弃了其自定义 FTP 处理,固定选项卡周围的各种改进处理,密码管理器现在使用了秘密门户,localhost 目前被假定是安全来源,以及一些其他改进。 Gedit 对其 Flatpak 和 Snap 软件包进行了更新,对 GNOME 的 Tepl(文本编辑器产品线)的新依赖以及其他修复程序。 Glib 改进了命令行 “ gio” 工具,并修复了许多错误。 GNOME Maps 为瑞典和瑞士的用户支持新的 public transit routing plug-ins GVFS 对 Samba(SMB)shares 具有更好的枚举性能。 最近的 librsvg 改进。有趣的是,librsvg 现已对其发布版本禁用了...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 设置Eclipse缩进为4个空格,增强代码规范
- Mario游戏-低调大师作品
- MySQL8.0.19开启GTID主从同步CentOS8
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果