Сколько памяти занимает переменная типа byte в Java?

«Сколько памяти занимает переменная типа byte в Java?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Примитивный тип byte в Java гарантированно занимает 8 бит (1 байт) памяти.

Диапазон значений: от -128 до 127.

Пример объявления:

byte data = 100; // Занимает 1 байт в стеке (для локальной переменной)

Особенности и применение:

  • Эффективность: Основное предназначение — работа с двоичными данными (файлы, сетевые потоки, сырые байты из внешних систем).
  • В массивах: Каждый элемент массива byte[] также занимает 1 байт, плюс служебная информация самого массива (заголовок объекта и поле длины).
  • Автоприведение: В арифметических выражениях byte автоматически расширяется (promotes) до типа int, поэтому часто требуется явное приведение типов:
    byte a = 10;
    byte b = 20;
    // byte c = a + b; // ОШИБКА компиляции: несовместимые типы (результат - int)
    byte c = (byte) (a + b); // Правильно: явное приведение