GraalVM 社群版 1.0 RC7,新一代高效能跨語言虛擬機器
GraalVM 社群版 1.0 RC7 已釋出。
GraalVM 是由 Oracle 開源的新一代高效能跨語言虛擬機器,用於執行 JavaScript、Python 3、Ruby、R、基於 JVM 的語言,如 Java、Scala、Kotlin 和基於 LLVM 的語言,如 C 和 C++。
GraalVM 消除了程式語言之間的隔離,並支援共享執行時的互操作性。它可以獨立執行,也可以在 OpenJDK、Node、Oracle 或者 SQL/">MySQL 上執行。
GraalVM 整個平臺包含多個元件:
-
SubstrateVM:一個對執行容器抽象層的輕量級封裝
-
Truffle:一個用於構建語言解析器的工具集和 API
語言支援
下載包括以下語言引擎:
-
JavaScript— Graal.js 是一個 JavaScript 直譯器/編譯器,能夠在 JVM 上執行 Node.js 應用
-
FastR— R 語言直譯器/編譯器
-
RubyTruffle— 支援 Ruby 且效能優於 Ruby
-
SimpleLanguage— 一個有關如何使用 Graal API 的示例
好處
-
效能— Graal 結合了我們對編譯器技術的研究,在一些負載上提供比傳統 JVM 更好的峰值效能
-
語言互操作性— 用 Graal 執行的語言可以互相呼叫,可以使用來自其他語言的庫
用法
只需下載 OTN 預覽版並將其用作 JDK。它經過預先配置,使用 Graal 作為預設的 Java 編譯器,包括命令列程式node 、jrb 和 R ,可用於取代 NodeJS、Ruby 和 R。
1.0 RC7 針對每門語言都新增了不少新特性 ——
GraalVM for Java developers (GraalVM + compiler)
Added the virtualization ofUnsafe
compare and swap calls, for more details see GH-636
.
Note that due do the issue with the underlying platform Java Mission control freezes at startup on MacOS. Because of that we removed thejmc
utility from the distribution. For more information and workarounds please see the JMC known issues page
.
Native image generation
-
Support for the Java security framework, seeICES.md" rel="nofollow,noindex" target="_blank">JCA-SECURITY-SERVICES.md for the details.
-
Support for
https
URL connections, see URL-PROTOCOLS.md for more details.
JavaScript
-
Improved support for sharing of shapes between Contexts with the same Engine, which allows to reuse ASTs and objects across different manually created contexts.
-
Support for
BigInteger
typed TypedArrays.
下載地址https://github.com/oracle/graal/releases/tag/vm-1.0.0-rc7
釋出說明 http://www.graalvm.org/docs/release-notes/#10-rc6
開發團隊表示,在釋出 1.0 穩定版前,更新主要都是圍繞提升穩定性來進行。