BreadcrumbHomeResourcesBlog Java Basics: Everything You Need To Know About GraalVM September 6, 2023 Java Basics: Everything You Need to Know About GraalVMDevOpsBy Andres LuukJava developers can choose from a number of JDKs when building out their Java tech stack. And among the bevy of options available is GraalVM. Table of ContentsWhat is GraalVM?GraalVM Availability and VersionsLanguage Capabilities in GraalVM Final ThoughtsTable of Contents1 - What is GraalVM?2 - GraalVM Availability and Versions3 - Language Capabilities in GraalVM 4 - Final ThoughtsBack to topWhat 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 topGraalVM Availability and VersionsThe 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 ROIBack to topLanguage 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 topFinal ThoughtsGraalVM 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 FreeBack to top
Andres Luuk Architect for JRebel, Perforce Software Andres has been working with Java since JDK 1.4. Since then, he has gained over 10 years of experience in improving class reloading in JRebel with various ways.He is especially interested in the deeper reaches of the JDK and trying out the latest stuff in the Java ecosystem.