What is GraalVM
September 6, 2023

Java Basics: Everything You Need to Know About GraalVM


Java developers can choose from a number of JDKs when building out their Java tech stack. And among the bevy of options available is GraalVM. 

Back to top

What is GraalVM?

GraalVM is a high-performance JDK built specifically with cloud native applications in mind. It is used for its optimized compiler and generating Java code faster. 

Developers can choose to incorporate GraalVM in their Java tech stack to enable faster startups, lower resource usage, improved security, and compact packaging. The key to faster startups are the compilers: the ahead-of-time (AOT) compiler and the just-in-time (JIT) compiler. We’ll cover what each of these compilers mean for your Java development practice later in this blog.  

Back to top

GraalVM Availability and Versions

The first production-ready version of GraalVM was released in May 2019; the current version, GraalVM 23.0.0, was released in June 2023. The paid version, Oracle GraalVM Enterprise Edition, is based on the Oracle JDK, whereas the free version, GraalVM Community Edition, is based on the Open JDK.

The high-performance JDK is developed by Oracle and included in the Java SE Universal Subscription at no additional cost. Oracle updated its pricing structure in January 2023 when it sunset legacy Java SE subscriptions and adjusted pricing to be based on overall employee count versus user count or core usage. 

Eliminate redeploys with JRebel. Discover how much Java development time you could save.

Calculate Your ROI

Back to top

Language Capabilities in GraalVM 

Developers also choose GraalVM for their Java tech stack because of its support for polyglot programming, i.e., the practice of writing code in multiple languages to leverage new features and functionality. 

While GraalVM is primarily used for Java, the compiler also supports JavaScript, Ruby, Python, and languages that compile to LLVM bitcode. This interoperability, facilitated by GraalVM’s R runtime, enables developers to execute code from any other GraalVM-supported language. 

These language capabilities are made possible by the Truffle language implementation framework. Truffle interfaces with Graal to create a language-agnostic environment. 

Back to top

Final Thoughts

GraalVM has two versions, GraalVM Community Edition and GraalVM Enterprise Edition, with numerous language and runtime features that can be appealing to Java developers.

Java developers choose GraalVM as their JDK of choice because it facilitates faster startups and a reduced memory footprint. Those efficiencies can be further compounded by eliminating rebuilds and redeploys with JRebel. 

Find out how much Java development time you could save during your 14-day free trial of JRebel. 

Try Free

Back to top