Как хранятся примитивные типы данных

«Как хранятся примитивные типы данных» — вопрос из категории Java, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Примитивные типы (int, float, boolean, char и т.д.) хранятся в стеке (stack memory) как часть фрейма метода. Они занимают фиксированный объем памяти и напрямую содержат свои значения.

Пример:

int age = 25;  // Хранится в стеке
double price = 19.99;  // Аналогично

Особенности:

  • Быстрый доступ, но ограничены областью видимости (удаляются после завершения метода).
  • В коллекциях (ArrayList, HashMap) используются их wrapper-классы (Integer, Double), так как примитивы не поддерживают generics.

Для оптимизации Android использует SparseArray (вместо HashMap<Integer, Object>), чтобы избежать автоупаковки.