Supercharge Your Applications with GraalVM: Hands-on examples to optimize and extend your code using GraalVM's high performance and polyglot capabilit

B Vijay Kumar

  • 出版商: Packt Publishing
  • 出版日期: 2021-08-10
  • 售價: $1,550
  • 貴賓價: 9.5$1,473
  • 語言: 英文
  • 頁數: 356
  • 裝訂: Paperback
  • ISBN: 1800564902
  • ISBN-13: 9781800564909
  • 下單後立即進貨 (約3~4週)




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.


A B Vijay Kumar is an "IBM Distinguished Engineer" and chief technology officer focused on hybrid cloud management and platform engineering. He is responsible for providing technology strategies for managing complex application portfolios on hybrid cloud platforms using emerging tools and technologies.

He is an IBM Master Inventor who has more than 31 patents issued and 30 pending in his name. He has more than 23 years' experience at IBM. He is recognized as a subject matter expert for his contribution to advanced mobility in automation and has led several implementations involving complex industry solutions. He specializes in mobile, cloud, container, automotive, sensor-based machine-to-machine, Internet of Things, and telematics technologies.


Table of Contents

1. Evolutions of JVM
2. JIT, Hotspot, and GraalVM
3. GraalVM Architecture
4. Graal Compiler - JIT, AOT
5. Graal Compiler - Ahead of Time
6. Truffle – An overview
7. Graal Polyglot (Java, Node)
8. GraalVM Polyglot – Java on Truffle, Python and R
9. Graal Polyglot - LLVM, Ruby, WASM
10. Microservices Framework and ARchitecture with Case Study