Sobes.tech
Junior — Middle

Em que locais da memória são colocados os objetos e variáveis de tipo primitivo?

sobes.tech IA

Resposta da IA

Em Java, as variáveis de tipos primitivos (int, boolean, double, etc.) geralmente são colocadas na pilha se forem variáveis locais do método. Se os primitivos forem campos de um objeto, eles são armazenados no heap junto com o próprio objeto.

Os objetos são sempre colocados no heap. As variáveis de referência a objetos são armazenadas na pilha se forem variáveis locais, ou no heap se forem campos de outros objetos.

Assim:

  • Primitivos locais — pilha
  • Campos de primitivos em objetos — heap
  • Objetos — heap
  • Referências a objetos — pilha (locais) ou heap (campos de objetos)