WISSENSARTIKEL / COMPUTER & HARDWARE

JVM – Java Virtual Machine

Die Java Virtual Machine als zentrale Laufzeitumgebung für Java-Anwendungen

◎ KURZDEFINITION

Jvm Die JVM ist eine virtuelle Maschine, die Java-Bytecode ausführt und dadurch Plattformunabhängigkeit für Java-Anwendungen gewährleistet.

Eigenständig verständliche Definition
✦

Das Wichtigste auf einen Blick

  • Die JVM führt Java-Bytecode aus und ermöglicht Plattformunabhängigkeit.
  • Sie übersetzt Bytecode entweder durch Interpretation oder Just-in-Time-Kompilierung.
  • Die JVM verwaltet Speicher, inklusive Garbage Collection.
  • Sie bietet Sicherheitsmechanismen zur Laufzeit.
  • JVM ist nicht nur für Java, sondern auch für andere Sprachen nutzbar.
  • Unterschiedliche Implementierungen der JVM existieren für verschiedene Plattformen.
  • Die JVM ist Teil der Java Runtime Environment (JRE).
01

Überblick: Jvm

Die Java Virtual Machine (JVM) ist ein zentrales Element der Java-Technologie. Sie ermöglicht es, Java-Programme auf unterschiedlichen Hardware- und Betriebssystemplattformen auszuführen, ohne dass der Quellcode verändert werden muss. Die JVM interpretiert oder kompiliert Java-Bytecode zur Laufzeit, verwaltet Speicher und sorgt für Sicherheit und Performance. Sie ist damit eine Schlüsselkomponente für die Portabilität und Effizienz von Java-Anwendungen.

02

Was ist die JVM?

Die Java Virtual Machine (JVM) ist eine virtuelle Maschine, die Java-Bytecode ausführt. Sie stellt eine Laufzeitumgebung bereit, die es ermöglicht, Java-Anwendungen auf verschiedenen Betriebssystemen und Hardwareplattformen ohne Anpassungen auszuführen.

03

Funktionsweise der JVM

Die JVM lädt Java-Bytecode, interpretiert ihn oder kompiliert ihn mittels Just-in-Time (JIT) Compiler in Maschinencode. Dabei verwaltet sie den Speicher, führt Sicherheitsprüfungen durch und sorgt für effiziente Ausführung.

04

Speicherverwaltung und Garbage Collection

Die JVM übernimmt die automatische Speicherverwaltung. Sie reserviert Speicher für Objekte und gibt ihn durch Garbage Collection frei, sobald Objekte nicht mehr referenziert werden. Dies verhindert Speicherlecks und vereinfacht die Programmierung.

05

Sicherheitsmechanismen der JVM

Die JVM prüft Bytecode vor der Ausführung durch die Bytecode-Verifikation, um schädlichen Code zu erkennen. Zudem bietet sie eine Sandbox-Umgebung, die den Zugriff auf Systemressourcen kontrolliert und so die Systemsicherheit erhöht.

06

JVM und Plattformunabhängigkeit

Java-Programme werden in Bytecode kompiliert, der von der JVM interpretiert wird. Da es JVM-Implementierungen für viele Plattformen gibt, kann derselbe Bytecode auf unterschiedlichen Systemen ausgeführt werden, was Java seine Plattformunabhängigkeit verleiht.

07

Vergleich populärer JVM-Implementierungen

JVM-ImplementierungEntwicklerPlattformenBesonderheiten
HotSpotOracleWindows, Linux, macOSStandard-JVM mit JIT-Compiler
OpenJ9Eclipse FoundationWindows, Linux, macOSRessourceneffizient, schnell startend
GraalVMOracleWindows, Linux, macOSPolyglotte VM, unterstützt mehrere Sprachen
08

JVM und andere Programmiersprachen

Neben Java können auch andere Programmiersprachen wie Kotlin, Scala oder Groovy Bytecode erzeugen, der auf der JVM ausgeführt wird. Dies macht die JVM zu einer vielseitigen Plattform für verschiedene Sprachen.

09

JVM im Kontext der Java-Plattform

Die JVM ist Teil der Java Runtime Environment (JRE), die neben der virtuellen Maschine auch Standardbibliotheken und andere Komponenten umfasst. Zusammen ermöglichen sie die Ausführung und Entwicklung von Java-Anwendungen.

10

Vorteile und Nachteile der JVM

VorteileNachteile
PlattformunabhängigkeitLeistungs-Overhead durch Abstraktion
Automatische SpeicherverwaltungAbhängigkeit von JVM-Implementierung
SicherheitsfunktionenEingeschränkter direkter Hardwarezugriff
11

Wichtig zu wissen

✦

Die JVM ist nicht nur für die Ausführung von Java-Programmen relevant, sondern auch für moderne Softwareentwicklung mit mehreren JVM-basierten Sprachen und Frameworks.

◇

Zusatzinformationen

◇

Begriff: Java Virtual Machine (JVM)

Funktion: Ausführung von Java-Bytecode

Plattformunabhängigkeit: Ja

Hauptaufgabe: Interpretation und Just-in-Time-Kompilierung von Bytecode

Speicherverwaltung: Automatische Garbage Collection

Sicherheitsfeatures: Bytecode-Verifikation, Sandboxing

Teil von: Java Runtime Environment (JRE)

Unterstützte Sprachen: Java, Kotlin, Scala, Groovy u.a.

Aa

Synonyme und alternative Bezeichnungen

?

Häufige Fragen zu Jvm

Was ist der Hauptzweck der JVM?

Die JVM führt Java-Bytecode aus und ermöglicht dadurch die plattformunabhängige Ausführung von Java-Anwendungen.

Wie sorgt die JVM für Plattformunabhängigkeit?

Java-Programme werden in Bytecode kompiliert, der von der JVM interpretiert wird. Da es JVMs für verschiedene Plattformen gibt, kann derselbe Bytecode überall ausgeführt werden.

Welche Rolle spielt die Garbage Collection in der JVM?

Die Garbage Collection verwaltet automatisch den Speicher, indem sie nicht mehr benötigte Objekte erkennt und deren Speicher freigibt.

Kann die JVM auch Programme anderer Sprachen ausführen?

Ja, Sprachen wie Kotlin, Scala oder Groovy erzeugen Bytecode, der von der JVM ausgeführt wird.

Was ist der Unterschied zwischen Interpretation und Just-in-Time-Kompilierung in der JVM?

Interpretation führt Bytecode direkt aus, während Just-in-Time-Kompilierung Bytecode zur Laufzeit in Maschinencode übersetzt, um die Ausführung zu beschleunigen.

Welche Sicherheitsmechanismen bietet die JVM?

Die JVM überprüft Bytecode vor der Ausführung und isoliert Programme in einer Sandbox, um schädliche Aktionen zu verhindern.

Gibt es verschiedene Implementierungen der JVM?

Ja, bekannte Implementierungen sind HotSpot von Oracle, OpenJ9 von der Eclipse Foundation und GraalVM von Oracle.

▤

Quellen & weiterführende Informationen

Quellenvorschläge und Nachweise zum Artikel. Bitte externe Inhalte eigenständig prüfen.

4 Quellen
  1. 01
    Oracle: Java Virtual Machine (JVM) Architecture ↗
    Oracle· Oracle Corporation· DokumentationKI-Vorschlag · ungeprüft

    Grundlegende technische Spezifikation der JVM

    https://docs.oracle.com/javase/specs/jvms/se8/html/index.html
  2. 02
    Understanding the JVM ↗
    Oracle· Oracle Corporation· Offizielle DokumentationKI-Vorschlag · ungeprüft

    Erklärung der Funktionsweise und Architektur der JVM

    https://www.oracle.com/java/technologies/javase/jvm.html
  3. 03
    Introduction to Garbage Collection in Java ↗
    Baeldung· Baeldung Team· FachartikelKI-Vorschlag · ungeprüft

    Detaillierte Darstellung der Speicherverwaltung in der JVM

    https://www.baeldung.com/java-garbage-collection
  4. 04
    GraalVM – A Polyglot Virtual Machine ↗
    Oracle· Oracle Corporation· ProduktseiteKI-Vorschlag · ungeprüft

    Informationen zu einer alternativen JVM-Implementierung

    https://www.graalvm.org/

Artikel teilen oder einbetten

Teile diesen Wissensartikel oder binde eine kompakte Vorschau auf deiner eigenen Website ein.

f Facebookin LinkedIn𝕏 X◉ WhatsApp
War dieser Artikel hilfreich?Dein Feedback hilft, die Wissensplattform zu verbessern.
ANSWER ENGINE · ARTIKEL

Diese Seite in Zahlen

Artikelstatistik
↗–Aufrufe dieses Artikels
◷–Unique Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat
Feedback zu diesem Artikel
👍 Ja
0
◐ Teilweise
0
👎 Nein
0

Alle Werte in diesem Abschnitt beziehen sich ausschließlich auf diesen Artikel.

ANSWER ENGINE · GESAMTES NETZWERK

Wissensplattform in Zahlen

Netzwerkstatistik
↗–Seitenaufrufe gesamt
◷–Unique Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat

Diese Werte beziehen sich auf die gesamte Plattform und alle veröffentlichten Artikel.