Каковы причины расширения малых типов данных (например, байтов) до int в процессе Числовое повышение ? Разве нельзя было бы выполнять большинство операций непосредственно с этими меньшими типами данных?
ВМ - это виртуальная машина, JIT преобразует это в собственный код и оптимизирует его.Все регистры являются либо 32-битными, либо 64-битными, и «более короткие» операции не обязательно и более быстрые.
ВМ не поддерживает целые числа меньше 4 октетов, поэтому при работе на виртуальной машине вы работаете с длиной 4 октета или длиной 8 октетов. (Что ж, это относится к массивам, barray sarray и т. Д., Но не для отдельных значений).