Por que não ultiiza o tipo primitivo byte ou short pra armazena uma idade de pessoa ao invez de ultilizar o tipo int ? já que os dois citados anteriomentes consumem menos memoria ?
Vejo muitas pessoa ultilizando somente int e quase nao vejo o uso desses outros dois tipos de dados …
Na maioria dos casos isso faz pouca diferença em termos de espaço usado.
A JVM, quando vc declara uma variável do tipo byte, ele será armazena em uma célula de 32 bits, ou seja assim como int. byte e short, no momento de multiplicação “perde” um pouco do desempenho comparado com int (BenchMark).
Mas tem seus casos e tudo mais, essa é minha opinião, é o que entendi enquanto estudava um pouco, tenho certeza que aqui no forum tem pessoal que pode explicar de forma mais detalhada. Obs: o motivo dessa “perda” é que ela executa funções extras para converter o valor de 32 bits em um intermediário de byte, ou short em cada iteração.
veja uns resultados: int multiplication 1.530 ns short multiplication 2.105 ns byte multiplication 2.483 ns int [] traversal 5.347 ns short [] traversal 4.760 ns byte [] traversal 2.064 ns
como pode ver byte e short são mais eficientes em casos de matrizes que são grandes.