Sobes.tech
Junior

Quels types de données existent dans le contexte de la JVM?

sobes.tech IA

Réponse de l'IA

Dans le contexte de la JVM, il existe deux types de données : Types primitifs (Primitive Types) et Types de référence (Reference Types).

Types primitifs :

  • Représentent des valeurs de base (nombres, caractères, valeurs booléennes).
  • La taille et la plage de valeurs de ces types sont strictement définies par la spécification JVM.
  • Sont passés par valeur.
  • Sont stockés dans la pile (Stack).

Liste des types primitifs :

  • boolean : true ou false.
  • byte : nombre entier signé de 8 bits.
  • short : nombre entier signé de 16 bits.
  • char : caractère Unicode de 16 bits (sans signe).
  • int : nombre entier signé de 32 bits.
  • long : nombre entier signé de 64 bits.
  • float : nombre à virgule flottante de 32 bits en précision simple.
  • double : nombre à virgule flottante de 64 bits en double précision.

Types de référence :

  • Représentent des références (adresses) d'objets en mémoire (Heap).
  • La taille de la référence dépend généralement de l'architecture JVM (32 bits ou 64 bits).
  • Sont passés par référence, bien que techniquement une copie de la référence soit transmise.
  • Sont stockés dans le tas (Heap).

Types de référence :

  • Classes (Class Types) : Instances de classes utilisateur ou de bibliothèques (par exemple, String, Object).
  • Interfaces (Interface Types) : Références à des objets qui implémentent une interface spécifique.
  • Tableaux (Array Types) : Objets conteneurs pour stocker des collections ordonnées d'éléments (tant primitifs que de référence).

Exemple d'utilisation :

// Type primitif
int primitiveInt = 10;

// Type de référence (objet de la classe String)
String referenceString = new String("Hello");

// Type primitif dans un tableau
int[] primitiveArray = {1, 2, 3};

// Type de référence dans un tableau
String[] referenceArray = {"A", "B"};