Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Supercharge Your Applications with GraalVM
  • Toc
  • feedback
Supercharge Your Applications with GraalVM

Supercharge Your Applications with GraalVM

By : A B Vijay Kumar
5 (21)
close
Supercharge Your Applications with GraalVM

Supercharge Your Applications with GraalVM

5 (21)
By: A B Vijay Kumar

Overview of this book

GraalVM is a universal virtual machine that allows programmers to compile and run applications written in both JVM and non-JVM languages. It improves the performance and efficiency of applications, making it an ideal companion for cloud-native or microservices-based applications. This book is a hands-on guide, with step-by-step instructions on how to work with GraalVM. Starting with a quick introduction to the GraalVM architecture and how things work under the hood, you'll discover the performance benefits of running your Java applications on GraalVM. You'll then learn how to create native images and understand how AOT (ahead-of-time) can improve application performance significantly. The book covers examples of building polyglot applications that will help you explore the interoperability between languages running on the same VM. You'll also see how you can use the Truffle framework to implement any language of your choice to run optimally on GraalVM. By the end of this book, you'll not only have learned how GraalVM is beneficial in cloud-native and microservices development but also how to leverage its capabilities to create high-performing polyglot applications.
Table of Contents (17 chapters)
close
1
Section 1: The Evolution of JVM
4
Section 2: Getting Up and Running with GraalVM – Architecture and Implementation
8
Section 3: Polyglot with Graal
13
Section 4: Microservices with Graal

Preface

GraalVM is a universal virtual machine that allows programmers to embed, compile, interoperate, and run applications written in JVM languages such as Java, Kotlin, and Groovy; non-JVM languages such as JavaScript, Python, WebAssembly, Ruby, and R; and LLVM languages such as C and C++.

GraalVM provides the Graal just-in-time (JIT) compiler, an implementation of the Java Virtual Machine Compiler Interface (JVMCI), which is completely built on Java and uses Java JIT compiler (C2 compiler) optimization techniques as the baseline and builds on top of them. The Graal JIT compiler is much more sophisticated than the Java C2 JIT compiler. GraalVM is a drop-in replacement for the JDK, which means that all the applications that are currently running on the JDK should run on GraalVM without any application code changes.

GraalVM also provides ahead-of-time (AOT) compilation to build native images with static linking. GraalVM AOT compilation helps build native images that have a very small footprint and faster startup and execution, which is ideal for modern-day microservices architectures.

While GraalVM is built on Java, it not only supports Java, but also enables polyglot development with JavaScript, Python, R, Ruby, C, and C++. It provides an extensible framework called Truffle that allows any language to be built and run on the platform.

GraalVM is becoming the default runtime for running cloud-native Java microservices. Soon, all Java developers will be using GraalVM to run their cloud-native Java microservices. There are already a lot of microservices frameworks that are emerging in the market, such as Quarkus, Micronaut, Spring Native, and so on, that are built on GraalVM.

Developers working with Java will be able to put their knowledge to work with this practical guide to GraalVM and cloud-native microservice Java frameworks. The book provides a hands-on approach to implementation and associated methodologies that will have you up and running, and productive in no time. The book also provides step-by-step explanations of essential concepts with simple and easy-to-understand examples.

This book is a hands-on guide for developers who wish to optimize their apps' performance and are looking for solutions. We will start by giving a quick introduction to the GraalVM architecture and how things work under the hood. Developers will quickly move on to explore the performance benefits they can gain by running their Java applications on GraalVM. We'll learn how to create native images and understand how AOT can improve application performance significantly. We'll then move on to explore examples of building polyglot applications and explore the interoperability between languages running on the same VM. We'll explore the Truffle framework to implement our own languages to run optimally on GraalVM. Finally, we'll also learn how GraalVM is specifically beneficial in cloud-native and microservices development.

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech
bookmark search playlist download font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete