Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Supercharge Your Applications with GraalVM

You're reading from   Supercharge Your Applications with GraalVM Hands-on examples to optimize and extend your code using GraalVM's high performance and polyglot capabilities

Arrow left icon
Product type Paperback
Published in Aug 2021
Publisher Packt
ISBN-13 9781800564909
Length 360 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
A B Vijay Kumar A B Vijay Kumar
Author Profile Icon A B Vijay Kumar
A B Vijay Kumar
Arrow right icon
View More author details
Toc

Table of Contents (17) Chapters Close

Preface 1. Section 1: The Evolution of JVM
2. Chapter 1: Evolution of Java Virtual Machine FREE CHAPTER 3. Chapter 2: JIT, HotSpot, and GraalJIT 4. Section 2: Getting Up and Running with GraalVM – Architecture and Implementation
5. Chapter 3: GraalVM Architecture 6. Chapter 4: Graal Just-In-Time Compiler 7. Chapter 5: Graal Ahead-of-Time Compiler and Native Image 8. Section 3: Polyglot with Graal
9. Chapter 6: Truffle for Multi-language (Polyglot) support 10. Chapter 7: GraalVM Polyglot – JavaScript and Node.js 11. Chapter 8: GraalVM Polyglot – Java on Truffle, Python, and R 12. Chapter 9: GraalVM Polyglot – LLVM, Ruby, and WASM 13. Section 4: Microservices with Graal
14. Chapter 10: Microservices Architecture with GraalVM 15. Assessments 16. Other Books You May Enjoy

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.

lock icon The rest of the chapter is locked
Next Section arrow right
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image