Sobes.tech
Junior

Quali tipi di dati esistono nel contesto della JVM?

sobes.tech AI

Risposta dell'AI

Nel contesto della JVM esistono due tipi di dati: Tipi primitivi (Primitive Types) e Tipi di riferimento (Reference Types).

Tipi primitivi:

  • Rappresentano valori di base (numeri, caratteri, valori booleani).
  • La dimensione e il range di valori di questi tipi sono strettamente definiti dalla specifica JVM.
  • Vengono passati per valore.
  • Sono memorizzati nello stack.

Elenco dei tipi primitivi:

  • boolean: true o false.
  • byte: numero intero con segno di 8 bit.
  • short: numero intero con segno di 16 bit.
  • char: carattere Unicode di 16 bit (senza segno).
  • int: numero intero con segno di 32 bit.
  • long: numero intero con segno di 64 bit.
  • float: numero a virgola mobile di 32 bit a precisione semplice.
  • double: numero a virgola mobile di 64 bit a doppia precisione.

Tipi di riferimento:

  • Rappresentano riferimenti (indirizzi) a oggetti in memoria (Heap).
  • La dimensione del riferimento dipende generalmente dall'architettura JVM (32 bit o 64 bit).
  • Vengono passati per riferimento, anche se tecnicamente si passa una copia del riferimento stesso.
  • Sono memorizzati nell'heap.

Tipi di riferimento:

  • Classi (Class Types): Esempi di classi utente o librerie (ad esempio, String, Object).
  • Interfacce (Interface Types): Riferimenti a oggetti che implementano un'interfaccia specifica.
  • Array (Array Types): Oggetti contenitori per memorizzare collezioni ordinate di elementi (sia primitivi che di riferimento).

Esempio di utilizzo:

// Tipo primitivo
int primitiveInt = 10;

// Tipo di riferimento (oggetto della classe String)
String referenceString = new String("Hello");

// Tipo primitivo in un array
int[] primitiveArray = {1, 2, 3};

// Tipo di riferimento in un array
String[] referenceArray = {"A", "B"};