Home

Awesome

GraalVM Demos

This repository contains a collection of example applications that highlight key features and best practices for working with GraalVM technologies.

Get Started

To get started, clone this repository and navigate to the relevant demo directory:

git clone https://github.com/graalvm/graalvm-demos.git
cd graalvm-demos

You will find instructions for running a particular demo in the corresponding README.md file. Some demos redirect you to a specific guide on the GraalVM website.

Graal Languages Demos

You can find demos, along with how-to guides for GraalJS, GraalPy, and GraalWasm, in separate repositories:

Native Image Demos

Example applications showcasing the capabilities of GraalVM Native Image, including performance optimization and configuration tips.

Build

Demos for building native images, including configurations and setup steps for various use cases.

Configure

Demos illustrating how to compile applications with Native Image that use some dynamic Java features including reflection, resource access, and so on.

Containerize

Demos focusing on containerizing native Java applications and following best practices.

Monitor

Demos showcasing how to monitor native applications using observability and diagnostics tools.

Optimize

Demos optimizing native applications for different criteria (runtime and performance tuning, file size, build time, and more).

Benchmark

Performance measurement demos for Native Image.

Clouds

Demos showcasing the building and deployment of native applications to Oracle Cloud Infrastructure (OCI), AWS, and Google Cloud.

Microservices

Demos for building microservices ahead of time using frameworks such as Micronaut and Spring Boot.

Compiler Demos

Demos designed to test and showcase the capabilities of the Graal Just-In-Time (JIT) compiler. These examples focus on evaluating the compiler's performance, including its optimizations for modern Java workloads.

Archived Demos

Legacy or blog-related demos, as well as examples involving polyglot capabilities.

License

Unless specified otherwise, all code in this repository is licensed under the Universal Permissive License (UPL).