0Pricing
Java Academy · Lektion

Was ist GraalVM

Eine hochperformante polyglotte VM

Was ist GraalVM ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Java Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist GraalVM

GraalVM ist eine leistungsstarke JDK-Distribution, die auf einem modernen Just-in-Time-Compiler namens Graal basiert. Sie führt gewöhnliches Java bei vielen Workloads schneller aus und bietet zwei zentrale zusätzliche Fähigkeiten: polyglotte Ausführung und native Ahead-of-Time-Kompilierung.

Ein direkt einsetzbares JDK

GraalVM ist ein vollständiges JDK. Ihre vorhandenen javac-, java- und Bytecode-Dateien funktionieren unverändert. Der Unterschied liegt im Compiler unter der Oberfläche und in den zusätzlichen mitgelieferten Tools wie native-image.

public class Main {
    public static void main(String[] args) {
        System.out.println("Runs the same on GraalVM as on any JDK");
        System.out.println("Java: " + System.getProperty("java.version"));
    }
}

Der Graal-Compiler

Der Graal JIT ist selbst in Java geschrieben. Er führt aggressive Optimierungen wie fortgeschrittenes Inlining, partielle Escape-Analyse und spekulative Optimierung durch und übertrifft den herkömmlichen C2-Compiler häufig bei stark abstrahiertem, allokationsintensivem Code.

Polyglott mit Truffle

GraalVM enthält das Truffle-Framework, mit dem mehrere Sprachen auf derselben VM ausgeführt werden und sogar miteinander kommunizieren können. Implementierungen gibt es für JavaScript, Python, Ruby, R und WebAssembly. Werte können mit geringem Overhead Sprachgrenzen überschreiten.

Polyglottes Beispiel (konzeptionell)

Mit der Polyglot-API erstellen Sie einen Context und werten darin Code in einer anderen Sprache aus. Anschließend lesen Sie das Ergebnis zurück nach Java. Die Klassen befinden sich in org.graalvm.polyglot.

// Requires GraalVM polyglot runtime
import org.graalvm.polyglot.*;

public class Main {
    public static void main(String[] args) {
        try (Context ctx = Context.create()) {
            Value sum = ctx.eval("js", "40 + 2");
            System.out.println(sum.asInt());
        }
    }
}

Native Image

Das Tool native-image kompiliert Java vorab in eine eigenständige native ausführbare Datei. Zur Laufzeit gibt es keine JVM, kein Laden von Klassen und kein JIT-Aufwärmen — das Programm startet innerhalb von Millisekunden.

Editionen

GraalVM gibt es als kostenlose Community Edition und als Oracle GraalVM-Distribution mit zusätzlichen Optimierungen. Beide enthalten native-image; für die meisten Lernzwecke und viele Produktionseinsätze ist der Community-Build ausreichend.

Warum das für die Cloud wichtig ist

Der schnelle Start und der geringe Speicherbedarf machen Native Images ideal für serverlose Funktionen, CLIs und Container, die auf null skaliert werden. Ein nativer Java-Dienst kann so schnell starten wie eine vergleichbare Go-Binärdatei und beseitigt damit einen langjährigen Nachteil der JVM.

JIT vs AOT

Zwei Ausführungsmodelle bestehen nebeneinander:

  • JIT (der Graal-Compiler) optimiert zur Laufzeit anhand laufender Profile — am besten für maximalen Durchsatz bei langlebigen Servern.
  • AOT (native-image) kompiliert vor der Ausführung — am besten für Startzeit und Speicherbedarf.

Framework-Unterstützung

Moderne Frameworks wie Spring Boot, Quarkus und Micronaut bieten erstklassige Unterstützung für native-image. Sie berechnen die Konfiguration zur Build-Zeit vor, sodass Ihre Anwendung problemlos zu einer nativen Binärdatei kompiliert werden kann.

GraalVM auswählen

Setzen Sie GraalVM ein, wenn Sie bei abstrahierungsintensivem Code einen höheren JIT-Durchsatz wünschen, Polyglot-Interoperabilität benötigen oder native ausführbare Dateien für schnell startende Deployments mit geringem Speicherbedarf erstellen möchten. GraalVM ist eine Obermenge eines Standard-JDK, daher ist die Einführung risikoarm.

Kurzer Test

Testen Sie Ihr Verständnis von GraalVM.

Zusammenfassung

Sie haben GraalVM kennengelernt:

  • Ein vollständiges JDK auf Basis des leistungsstarken Graal JIT-Compilers.
  • Truffle ermöglicht polyglotte Ausführung und Aufrufe zwischen Sprachen.
  • native-image kompiliert Java vorab zu nativen ausführbaren Dateien.
  • JIT ist auf Durchsatz bei langlebigen Anwendungen ausgelegt, AOT auf Startzeit und Speicherbedarf.
  • Frameworks wie Spring Boot, Quarkus und Micronaut unterstützen native Builds.

Häufig gestellte Fragen

Ist die Lektion „Was ist GraalVM“ kostenlos?

Ja — der vollständige Text von „Was ist GraalVM“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Java Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Was ist GraalVM“?

Eine hochperformante polyglotte VM Du übst Java Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Java Academy zu starten?

Keine Vorkenntnisse erforderlich. Java Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Was ist GraalVM“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Java Academy-Lektion Code schreiben und ausführen?

Ja. Jede Java Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Was ist GraalVM
  2. Ein Native Image erstellen
  3. Reflection und Konfiguration
  4. Abwägungen beim Native Image
← Zurück zu Java Academy