Repolode
oracle

oracle/graal

GraalVM is a Java platform that compiles applications ahead of time into standalone native binaries and includes a JDK usable in IDEs.

Stars
21,735
Forks
1,836
Open issues
895
Last commit
9 hours ago

What is it?

GraalVM compiles Java applications ahead of time into standalone native executables that start quickly, reach peak performance without a warmup phase, and use fewer resources than a conventional JVM run. It can also be used like any other Java Development Kit inside an IDE.

The repository is the main source tree for the project and bundles several components: the Graal compiler, Native Image (the SubstrateVM ahead-of-time framework), Espresso for running Java bytecode on Truffle, and the Truffle language implementation framework. Related repositories provide languages such as JavaScript (GraalJS) and Python (GraalPy), plus build tool plugins and a GitHub Action for setting up GraalVM.

The project is licensed under GPL 2 with the Classpath Exception for the Community Edition, with other components under GPL 2, UPL, or BSD. Documentation lives on the GraalVM website, with sources in the docs directory.

Key features

  • 01Compiles Java applications into standalone native executables with Native Image.
  • 02Runs without a warmup phase and starts quickly, according to the project's stated goals.
  • 03Can be used as a drop-in Java Development Kit in IDEs.
  • 04Includes the Graal compiler and the Truffle language implementation framework.
  • 05Provides Espresso for running Java bytecode and related language components.

Use cases

  • Shipping Java microservices or CLI tools that need fast startup and low memory use.
  • Building serverless or container workloads where cold start time matters.
  • Embedding other languages such as JavaScript or Python in Java applications via Truffle.

Quick start

  1. 1

    Download GraalVM from the official downloads page or follow the getting-started guide on the GraalVM website

Things to know

  • Components are licensed under different terms: most use GPL 2 with the Classpath Exception, some use GPL 2 alone, and others use UPL or BSD.
  • Building GraalVM from source requires following the separate instructions in vm/README.md.

Topics

FAQ

What is graal?
GraalVM is a Java platform that compiles applications ahead of time into standalone native binaries and includes a JDK usable in IDEs. GraalVM compiles Java applications ahead of time into standalone native executables that start quickly, reach peak performance without a warmup phase, and use fewer resources than a conventional JVM run. It can also be used like any other Java Development Kit inside an IDE.
Is graal free to use? What license does it have?
graal is open source under the Other license. Check the license terms before using it in commercial products.
Is graal still maintained?
Actively maintained. The last commit to graal was on Oct 21, 2026.
What can I use graal for?
Shipping Java microservices or CLI tools that need fast startup and low memory use. Building serverless or container workloads where cold start time matters. Embedding other languages such as JavaScript or Python in Java applications via Truffle.
How do I install graal?
Download GraalVM from the official downloads page or follow the getting-started guide on the GraalVM website
Where can I get graal?
The source code and installation instructions are on GitHub: https://github.com/oracle/graal

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects