Sobes.tech
Junior — Middle

Onde na memória estão localizados os tipos de dados básicos em um programa?

sobes.tech IA

Resposta da IA

Em Java, os tipos de dados primitivos são colocados na pilha de chamadas (stack) se forem variáveis locais ou parâmetros de métodos. Isto deve-se ao fato de que os primitivos são armazenados diretamente na memória atribuída à variável.

Se os primitivos forem campos de um objeto, eles são colocados no heap junto com o próprio objeto.

Exemplo:

void method() {
    int a = 10; // 'a' é armazenado na pilha
    MyObject obj = new MyObject(); // 'obj' é uma referência na pilha
    obj.value = 20; // campo 'value' no heap junto com o objeto
}

Assim, os primitivos de variáveis locais estão na pilha, e os campos de objetos no heap.