Sobes.tech
Junior

¿Qué tipos de datos existen en el contexto de la JVM?

sobes.tech AI

Respuesta de la IA

En el contexto de la JVM existen dos tipos de datos: tipos primitivos (Primitive Types) y tipos de referencia (Reference Types).

Tipos primitivos:

  • Representan valores básicos (números, caracteres, valores booleanos).
  • El tamaño y rango de valores de estos tipos están estrictamente definidos por la especificación de la JVM.
  • Se pasan por valor.
  • Se almacenan en la pila (Stack).

Lista de tipos primitivos:

  • boolean: true o false.
  • byte: número entero con signo de 8 bits.
  • short: número entero con signo de 16 bits.
  • char: carácter Unicode de 16 bits (sin signo).
  • int: número entero con signo de 32 bits.
  • long: número entero con signo de 64 bits.
  • float: número de 32 bits con punto flotante de precisión simple.
  • double: número de 64 bits con punto flotante de doble precisión.

Tipos de referencia:

  • Representan referencias (direcciones) a objetos en la memoria (Heap).
  • El tamaño de la referencia generalmente depende de la arquitectura de la JVM (32 bits o 64 bits).
  • Se pasan por referencia, aunque técnicamente se pasa una copia de la referencia.
  • Se almacenan en el montón (Heap).

Tipos de referencia:

  • Clases (Class Types): Instancias de clases personalizadas o de bibliotecas (por ejemplo, String, Object).
  • Interfaces (Interface Types): Referencias a objetos que implementan una interfaz específica.
  • Arrays (Array Types): Objetos contenedores para almacenar colecciones ordenadas de elementos (tanto primitivos como de referencia).

Ejemplo de uso:

// Tipo primitivo
int primitiveInt = 10;

// Tipo de referencia (objeto de la clase String)
String referenceString = new String("Hello");

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

// Tipo de referencia en un array
String[] referenceArray = {"A", "B"};