GraalVM Community Edition 19.0.0
GraalVM is a high-performance, embeddable, polyglot Virtual Machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Kotlin, and LLVM-based languages such as C and C++.
Additionally, GraalVM allows efficient interoperability between programming languages and compiling Java applications ahead-of-time into native executables for faster startup time and lower memory overhead.
This download includes:
- JVM
- JavaScript Engine & Node.js Runtime
- LLVM Engine
- Developer Tools
The Native Image, Ruby, R and Python plugins are optionally available using the GraalVM gu
utility.
The complete release notes can be found on the website: http://www.graalvm.org/docs/release-notes/.
The most notable changes since the previous release are:
Java
- We updated the base JDK to 8u212.
Native Image
-
Native Image was extracted from the base GraalVM distribution and made available as an Early Adopter plugin. To install it, run
gu install native-image
. After this additional step, thenative-image
executable can be found in thebin
directory, as for the previous releases. -
We changed how classes are initialized in a Native Image. By default, class initialization now happens at run-time. We provide the following flags to control class initialization in a fine-grained way:
--initialize-at-build-time
and--initialize-at-run-time
.
What should I do if I am a library author?
- To get your tests back in check you can use
--intialize-at-build-time
which reverts to the previous behaviour. - Then use the flag
-H:+PrintClassInitialization
to see when classes get initialized. Based on this output you can derive the proper configuration. - Add
--intialize-at-build-time=<csv-of-classes-or-packages>
to yournative-image.properties
file.
Early Adopter Windows Support
A GraalVM CE early adopter build for Windows is now available. It includes the JDK with the GraalVM Compiler enabled, Native Image, the JavaScript Engine, and the Developer Tools. Currently there is no gu
utility or support for other GraalVM languages.