Sobes.tech
Junior

Welche Datentypen gibt es im Kontext der JVM?

sobes.tech KI

Antwort von AI

Im Kontext der JVM gibt es zwei Datentypen: Primitive Types (Primitive Types) und Reference Types (Referenztypen).

Primitive Types:

  • Stellen Grundwerte dar (Zahlen, Zeichen, boolesche Werte).
  • Größe und Wertebereich dieser Typen sind streng durch die JVM-Spezifikation festgelegt.
  • Werden nach Wert übergeben.
  • Werden im Stack gespeichert.

Liste der primitiven Typen:

  • boolean: true oder false.
  • byte: 8-Bit vorzeichenbehaftete Ganzzahl.
  • short: 16-Bit vorzeichenbehaftete Ganzzahl.
  • char: 16-Bit Unicode-Zeichen (ohne Vorzeichen).
  • int: 32-Bit vorzeichenbehaftete Ganzzahl.
  • long: 64-Bit vorzeichenbehaftete Ganzzahl.
  • float: 32-Bit Gleitkommazahl einfacher Genauigkeit.
  • double: 64-Bit Gleitkommazahl doppelter Genauigkeit.

Reference Types:

  • Stellen Referenzen (Adressen) auf Objekte im Speicher (Heap) dar.
  • Die Größe der Referenz hängt in der Regel von der Architektur der JVM ab (32-Bit oder 64-Bit).
  • Werden per Referenz übergeben, obwohl technisch eine Kopie der Referenz übergeben wird.
  • Werden im Heap gespeichert.

Arten von Referenztypen:

  • Klassen (Class Types): Instanzen von benutzerdefinierten oder Bibliotheksklassen (z.B. String, Object).
  • Schnittstellen (Interface Types): Referenzen auf Objekte, die eine bestimmte Schnittstelle implementieren.
  • Arrays (Array Types): Container-Objekte zum Speichern geordneter Sammlungen von Elementen (sowohl primitive als auch Referenztypen).

Beispiel für die Verwendung:

// Primitive Typ
int primitiveInt = 10;

// Referenztyp (String-Objekt)
String referenceString = new String("Hello");

// Primitive Typ in einem Array
int[] primitiveArray = {1, 2, 3};

// Referenztyp in einem Array
String[] referenceArray = {"A", "B"};