Skip to content

This repository contains example applications to illustrate the different capabilities of GraalVM

License

Notifications You must be signed in to change notification settings

graalvm/graalvm-demos

Repository files navigation

GraalVM Demos

This repository contains a collection of example applications that highlight key features and best practices for working with GraalVM technologies. The demos are organized into categories for easier navigation.

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 may also 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.

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.

Configure

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.

Microservices

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

Optimize

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

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.

Compatibility

The demos are standard Java applications and benchmarks, compatible with any virtual machine capable of running Java. They are tested against the latest GraalVM LTS release and the GraalVM Early Access build using GitHub Actions, with the exception of archived examples. If you come across an issue, please submit it here.

License

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