Variáveis de número diferentes com o mesmo valor ocupam menos ou mais espaço no código?

Exemplo:

class Teste {

int numero = 60;

}

class Teste2 {

byte num = 60;

}

Ambos têm o mesmo valor. Mas, o int tem 32 bits de informação e o byte, 8 bits. O tamanho de cada classe vai ser diferente ou igual?

Vc já respondeu sua pergunta. Se um int ocupa 32 bits e um byte 8 bits, uma variável int vai ocupar mais espaço que um byte, independente do valor.

  • 60 em binário é 111100;
  • Armazenado em uma variável do tipo byte o valor é 0011 1100;
  • Em um int, o valor é 0000 0000 0000 0000 0000 0000 0011 1100.

Lembrando que como esses tipos são sinalizados, o bit mais significativo indica o sinal do número e o valor é codificado em complemento de 2.

O tamanho de cada classe vai ser diferente ou igual?
Você quer dizer em relação à quanto cada objeto das classes Teste1 e Teste2 vão ocupar em memória? São diferentes. Agora, com base no chutômetro, acredito que mesmo duas classes exatamente iguais podem ter objetos iguais ocupando uma quantidade de bits diferentes, mas pra afirmar isso teria que ver exatamente como a JVM gerencia isso.

2 curtidas