Supercharge Your Applications with GraalVM: Hands-on examples to optimize and extend your code using GraalVM

Understand the internals and architecture of GraalVM with the help of hands-on experiments and gain deep knowledge that you can apply to improve your application’s performance, interoperability, and throughput.
Key Features

Generate faster and leaner code with minimum computing resources for high performance
Compile Java applications faster than ever to a standalone executable called native images
Create high-performance polyglot applications that are compatible across various JVM and non-JVM languages

Book Description

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.
What you will learn

Gain a solid understanding of GraalVM and how it works under the hood
Work with GraalVM’s high performance optimizing compiler and see how it can be used in both JIT (just-in-time) and AOT (ahead-of-time) modes
Get to grips with the various optimizations that GraalVM performs at runtime
Use advanced tools to analyze and diagnose performance issues in the code
Compile, embed, run, and interoperate between languages using Truffle on GraalVM
Build optimum microservices using popular frameworks such as Micronaut and Quarkus to create cloud-native applications

Who this book is for

This book is for JVM developers looking to optimize their application’s performance. You’ll also find this book useful if you’re a JVM developer looking to explore options to develop polyglot applications using tools from the Python, R, Ruby, or Node.js ecosystem. A solid understanding of software development concepts and prior experience working with programming languages is necessary to get started.
Table of Contents

Evolutions of JVM
JIT, Hotspot, and GraalVM
GraalVM Architecture
Graal Compiler – JIT, AOT
Graal Compiler – Ahead of Time
Truffle – An overview
Graal Polyglot (Java, Node)
GraalVM Polyglot – Java on Truffle, Python and R
Graal Polyglot – LLVM, Ruby, WASM
Microservices Framework and ARchitecture with Case Study