JVM


Java Virtual Machine

Die Java Virtual Machine Specification definiert die JVM als eine imaginäre Maschine, die durch Softwareemulation auf einer realen Maschine oder direkt durch Hardware implementiert werden kann. Sie definiert damit eine virtuelle Hardwarespezifikation, für die jeglicher Java-Programmcode compiliert wird. Weil diese Hardwarespezifikation imaginär ist, sind Java-Programme von den realen Hardwareplattformen unabhängig.

Konkret definiert die JVM-Spezifikation:
  • den Befehlssatz (in Analogie zum Befehlssatz einer CPU),
  • den Registersatz,
  • den Stack,
  • einen Heap mit Garbage-Collection,
  • die Speicherverwaltung und
  • das Format der Class-Dateien.

In der Praxis ist eine JVM daher in der Regel ein in einem WWW-Browser integrierter Interpreter zur überwachten Ausführung von Java-Bytecode auf der jeweiligen Hardwareplattform.

Java-Quelltexte müssen vorher mit Hilfe eines Compilers in den maschinenunabhängigen Bytecode übersetzt worden sein. Dieser kann entweder mit einem Interpreter von der Kommandozeile aus (Java-Anwendung) oder aus einer HTML-Seite gestartet werden (Applet).

Das Codeformat der JVM ist ein sehr kompakter Bytecode. Da die Befehlslänge auf ein Byte beschränkt ist, kann es maximal 256 verschiedene Befehle geben. Programme, die durch Bytecode dargestellt werden, unterliegen einer sehr strengen Typüberprüfung. Der Großteil der Typüberprüfungen wird bereits zur Compilezeit durch einen Bytecodeüberprüfer durchgeführt. Ein Java-Interpreter muss in der Lage sein, jedes Programm auszuführen, dessen Class-Dateien der Java Virtual Machine Specification entsprechen.

0-9|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|alle

Suche im Lexikon nach im

 

Fachartikel

Der historische Wandel der digitalen Transformation [3.06.2020]

Der Begriff "Digitale Transformation" kursiert erst seit wenigen Jahren in unserem Sprachgebrauch – und doch haben in der jüngeren Geschichte mehrere wellenartige digitale Transformationen ihre Spuren hinterlassen. Angefangen bei den Großrechnern von IBM in den 1950er-Jahren bis zur heutigen Datenspeicherung in der Cloud. Ein Blick in die Historie zeigt, dass die Digitale Transformation kein einmaliger Schritt, sondern ein laufender Prozess ist, getrieben von der kontinuierlichen Entwicklung der Technologien, die Unternehmen neue Möglichkeiten bietet und zugleich vor neue Herausforderungen stellt. [mehr]

Grundlagen

Terminalserver [4.05.2019]

In unserer Grundlagen-Rubrik erklären wir wichtige Aufgaben und Technologien aus dem Arbeitsalltag eines Netzwerk- und Systemadministrators. Hier erfahren Sie anhand prägnanter Erklärungen zu den wichtigsten Begriffen des jeweiligen Themenfeldes Hintergründe und Zusammenhänge in kompakter, praxisnaher Form.

Der Terminalserver ist eine Software, die in einem Netzwerk auf einem zentralen Rechner (Host) installiert ist und Applikationen über das Netzwerk mehreren Clients zur Verfügung stellt. Der Client erhält vom Terminalserver lediglich grafische Information und stellt diese dem Anwender dar. Die Applikationen selbst sind also auf dem Terminalserver installiert und müssen daher auch in der Lage sein, in einer solchen Umgebung eingesetzt zu werden. Auch die Speicherung der Daten erfolgt auf dem Host. [mehr]