Sobes.tech
Junior

Que tipos de dados existem no contexto da JVM?

sobes.tech IA

Resposta da IA

No contexto da JVM, existem dois tipos de dados: Tipos primitivos (Primitive Types) e Tipos de referência (Reference Types).

Tipos primitivos:

  • Representam valores básicos (números, caracteres, valores booleanos).
  • O tamanho e o intervalo de valores desses tipos são estritamente definidos pela especificação da JVM.
  • São passados por valor.
  • São armazenados na pilha (Stack).

Lista de tipos primitivos:

  • boolean: verdadeiro ou falso.
  • byte: número inteiro com sinal de 8 bits.
  • short: número inteiro com sinal de 16 bits.
  • char: caractere Unicode de 16 bits (sem sinal).
  • int: número inteiro com sinal de 32 bits.
  • long: número inteiro com sinal de 64 bits.
  • float: número de 32 bits com ponto flutuante de precisão simples.
  • double: número de 64 bits com ponto flutuante de dupla precisão.

Tipos de referência:

  • Representam referências (endereços) a objetos na memória (Heap).
  • O tamanho da referência geralmente depende da arquitetura da JVM (32 bits ou 64 bits).
  • São passados por referência, embora tecnicamente uma cópia da referência seja passada.
  • São armazenados no heap (Heap).

Tipos de referência:

  • Classes (Class Types): Instâncias de classes personalizadas ou de bibliotecas (por exemplo, String, Object).
  • Interfaces (Interface Types): Referências a objetos que implementam uma interface específica.
  • Arrays (Array Types): Objetos contêineres para armazenar coleções ordenadas de elementos (tanto primitivos quanto de referência).

Exemplo de uso:

// Tipo primitivo
int primitiveInt = 10;

// Tipo de referência (objeto da classe String)
String referenceString = new String("Hello");

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

// Tipo de referência em um array
String[] referenceArray = {"A", "B"};