GraalVM

Software From Wikipedia, the free encyclopedia

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

Related Articles

Wikiwand AI