Die Architektur der Java VM

SeminarthemenDie Architektur der Java VMI.II.III.IV.V.• VI. Anhang • VII.

VI. Anhang

↑ oben

VI.1 Abkürzungen

Alphabetische Liste verwendeter Abkürzungen:

AOT
Ahead Of Time (Compiler)
API
Application and Programming Interface
APT
Annotation Processing Tool
BS
Betriebssystem
CP
Constant Pool
GC
Gargabe Collection/Collector
IO
Input-Output (Ein-Ausgabe)
JIT
Just In Time (Compiler)
JNI
Java Native Interface
JRE
Java Runtime Environment
JVM
Java Virtual Machine
LV
Lokale Variablen
MA
Method Area
OS
Operand Stack
PC
Programm-Counter (Register)
RCP
Runtime Constant Pool
UT
Unter-Tabelle
VM
Virtuelle Maschine
↑ oben

VI.2 Bedeutung der Schriftformatierung

Beudeutung der verschiedenen Schriftformatierungen:

Beispiele
Das Beispiel
Formatbeschreibungen
Die Formatbeschreibung
Quelltexte
JavaSchlüsselwort oder DescriptorTerminalsymbol
// Kommentar
Zusatzinformationen
bytecode_befehl

Die Namen von Klassen, primitiven Typen oder Java-Schlüsselworten werden meist in Schreibmaschinenschrift dargestellt. Die Befehle der JVM sind in Kursiver Schreibmaschninenschrift formatiert.

↑ oben

VI.3 Java-Disassembler javap

Das Kommandozeitenwerkzeugt javap deassembliert Java Class-Dateien. Die Ausgabe hänge von den verwendeten Optionen ab. Der in den Beispielen verwendete Aufruf ist:

javap -private -s -c -verbose -classpath .;Quellpfad ClassDatei

Die ClassDatei wird hier ohne die Endung .class angegeben. Da Sun keinen Java-Assembler spezifiziert hat, entspricht die von javap erzeugte Ausgabe auch keiner Spezifikation und kann ebensoweig ausgeführt werden. Sie wird ausschließlich verwendet, um eine Class-Datei lesbar zu machen.

↑ oben

VI.4 Beispieldateien

Für die Betrachtungen der JVM zur Laufzeit wurden einige Beispiel-Java-Klassen erstellt, und deren Bytecode (.class-Datei) mit javap deassembliert. Die so erzeugten Dateien tragen die beliebig gewählte Endung .jbc (Java-Bytecode), da Java keinen Assembler spezifiziert.

JavaBytecodeDisassembliertVerwendet für
IExample.java Example.java IExample.class Example.class Example.jbc Beispiele zur Verarbeitung der JVM von Konstanten- und Feldzugriffen, Exceptions, Unterprogrammen und dem Aufruf von Methoden.
Near.java Near.class Near.jbc Beispiele zur Verarbeitung der JVM beim Aufruf von Methoden über den invokespecial-Befehl.
Far.java Far.class Far.jbc
↑ oben

VI.5 Vortrags-Folien

Für den Vortrag des Artikels existiert eine zusätzliche Seite, die beim Ausdruck automatisch in einzelne Seiten (Folien) unterteilt wird, die den Inhalt des Artikels stichwortartig wiedergeben. Diese sind nicht vollständig und müssen mündlich entsprechend ergänzt werden. Einige Seiten sollten für eine optimale Darstellung im Querformat gedruckt/betrachtet werden.

→ weiter…

SeminarthemenDie Architektur der Java VMI.II.III.IV.V.• VI. Anhang • VII.