Sobes.tech
Junior

Milyen adattípusok léteznek a JVM kontextusában?

sobes.tech MI

Válasz az MI-től

A JVM kontextusában két adat típus létezik: Alapvető típusok (Primitive Types) és Referencia típusok (Reference Types).

Alapvető típusok:

  • Alapvető értékeket képviselnek (számok, karakterek, logikai értékek).
  • Ezeknek a típusoknak a mérete és értéktartománya szigorúan meghatározott a JVM specifikáció szerint.
  • Érték szerint kerülnek átadásra.
  • A veremben (Stack) tárolódnak.

Az alapvető típusok listája:

  • boolean: igaz vagy hamis.
  • byte: 8 bites előjeles egész szám.
  • short: 16 bites előjeles egész szám.
  • char: 16 bites Unicode karakter (előjel nélkül).
  • int: 32 bites előjeles egész szám.
  • long: 64 bites előjeles egész szám.
  • float: 32 bites egyszeres pontosságú lebegőpontos szám.
  • double: 64 bites dupla pontosságú lebegőpontos szám.

Referencia típusok:

  • Hivatkozásokat (címeket) jelentenek a memóriában (Heap) lévő objektumokra.
  • A hivatkozás mérete általában a JVM architektúrájától függ (32 vagy 64 bit).
  • Hivatkozás szerint történik az átadás, bár technikailag a hivatkozás másolatát adjuk át.
  • A heapben tárolódnak.

Referencia típusok:

  • Osztályok (Class Types): Felhasználói vagy könyvtári osztálypéldányok (pl. String, Object).
  • Interfészek (Interface Types): Olyan objektumokra mutató hivatkozások, amelyek egy adott interfészt valósítanak meg.
  • Tömbök (Array Types): Olyan objektumok, amelyek rendezett gyűjteményeket tárolnak (mind primitív, mind referencia típusokat).

Használati példa:

// Alapvető típus
int primitiveInt = 10;

// Referencia típus (String osztály példánya)
String referenceString = new String("Hello");

// Alapvető típus tömbben
int[] primitiveArray = {1, 2, 3};

// Referencia típus tömbben
String[] referenceArray = {"A", "B"};