Datentypen


[ Seminar "Java und Werkzeuge für das Web" ] ... [ Inhaltsverzeichnis ] ... [ zurück ] ... [ weiter ] ... [ Literaturverzeichnis ]

Übersicht: Datentypen


Das folgende ist eine Übersicht darüber, wie die Datentypen der Programmiersprache Java intern von der VM abgebildet werden.

Ordinale Typen

Java kennt sechs verschiedene ordinale Datentypen: byte, short, char, int, long und boolean.
Mit Ausnahme von boolean gibt es für all diese Typen eine Entsprechung in der VM - boolean wird vom Compiler entweder zu int oder zu byte übersetzt, je nachdem, was gerade günstiger erscheint. Dabei gelten die gleichen Interpretationsregeln wie beispielsweise bei C: Ein Wert von 0 entspricht false, für true wird ein Wert von 1 gesetzt.
Im Speicher der VM werden long-Variablen als long, also in einem Speicherbereich von zwei Wörtern, und alle anderen als int (ein Wort lang) abgelegt.

Gleitkomma-Typen

Die beiden Gleitkommatypen float und double haben jeweils eine Entsprechung in der VM, wobei float im Speicher als ein Wort, double als zwei Wörter abgelegt wird.

Referenztypen

Arrays, sowie Klassen- und Interface-Variablen besitzen in der VM alle den Typ reference. Dieser entspricht einem 1 Wort langen Zeiger auf die entsprechende Objektrepräsentation auf dem Heap. Arrays sind also für die VM Objekte wie alle anderen auch.

Sonstige

Die VM kennt einen zusätzlichen Datentypen, der der Programmiersprache unbekannt ist: Den Typ ReturnAddress. Dieser wird vom Compiler verwendet, um finally-Klauseln darzustellen, und stellt einen 1 Wort langen Opcode innerhalb der aktuellen Methode dar.
[ Seminar "Java und Werkzeuge für das Web" ] ... [ Inhaltsverzeichnis ] ... [ zurück ] ... [ oben ] ... [ weiter ] ... [ Literatur ]