В 64-битном процессоре все регистры 64-битные, поэтому, если ваша локальная переменная назначена регистру и является логическим, байтовым, коротким, char, int, float, double или long, он не использует память и не экономит ресурсы.
Объекты выровнены по 8 байтов, поэтому они всегда занимают кратное 8 байтов в памяти. Это означает, что Boolean, Byte, Short, Character, Integer, Long, Float и Double, AtomicBoolean, AtomicInteger, AtomicLong, AtomicReference используют одинаковый объем памяти.
Как уже отмечалось, короткие типы используются для массивов и форматов чтения / записи данных. Даже тогда короткие не очень часто используются ИМХО.
Стоит также отметить, что ГБ стоит около 80 фунтов стерлингов на сервере, поэтому МБ составляет около 8 пенсов, а КБ - около 0,008 пенсов. Разница между байтом и длинной составляет около 0,00006 пенсов. Ваше время стоит больше, чем это. особенно если у вас есть ошибка, связанная с слишком малым типом данных.