GraalVM ist eine Laufzeitumgebung und ein JDK-Stack aus dem Umfeld von Oracle, der mehrere Programmiersprachen auf einer gemeinsamen Infrastruktur aus dem Graal-Compiler und dem Truffle-Framework ausführen kann. Ziel ist es, Anwendungen mit hoher Leistung, kurzen Startzeiten und geringem Speicherbedarf zu ermöglichen.
Überblick Polyglot: Unterstützung u. a. für Java, JavaScript/Node.js sowie Sprachen auf Basis von LLVM-Bitcode; weitere Sprachen wie Python, Ruby und R sind teils verfügbar bzw. in unterschiedlichen Reifegraden. Gemeinsame Ausführungsbasis: Interpreter werden mit Truffle implementiert und durch den Graal-JIT optimiert; alternativ ist Ahead-of-time-Kompilierung mit Native Image möglich. Ziele: schnelle Startzeit, gute Performance und einfache Einbettung von Skripting in JVM-Anwendungen.
Wichtige Komponenten Graal – optimierender JIT-Compiler für die JVM. Truffle – Framework zum Implementieren von Sprachinterpreteren mit gemeinsamen Optimierungen. Native Image – Toolkette zur Erstellung eigenständiger, statisch gelinkter Binärdateien. Polyglot-APIs – Schnittstellen, um mehrere Sprachen in einem Prozess zu kombinieren.
Betriebsmodi JVM-Modus: Ausführung auf einer regulären Java Virtual Machine (OpenJDK/HotSpot-Variante mit Graal). AOT/Native (Native Image): Erzeugt Binärdateien mit sehr kurzer Startzeit und reduziertem Speicherbedarf.
Einsatzszenarien Microservices und Cloud-/Serverless-Workloads mit strengen Latenz- und Speicheranforderungen. Einbettung von Skriptsprachen in Java-Anwendungen (z. B. Java + JavaScript). Verarbeitung von bestehenden LLVM/C/C++-Artefakten via LLVM-Bitcode.
Editionen und Lizenzierung Community Edition (CE): Open-Source-Bausteine unter gängigen freien Lizenzen. Enterprise Edition (EE): kommerzielle Variante mit zusätzlichen Optimierungen/Features.
Siehe auch OpenJDK HotSpot Just-in-time-Kompilierung Ahead-of-time-Kompilierung
Weblinks Offizielle Website Repository auf GitHub
Kategorie:Laufzeitumgebung Kategorie:Java (Programmiersprache)