Ответ
Примитивные типы (int, float, boolean, char и т.д.) хранятся в стеке (stack memory) как часть фрейма метода. Они занимают фиксированный объем памяти и напрямую содержат свои значения.
Пример:
int age = 25; // Хранится в стеке
double price = 19.99; // Аналогично
Особенности:
- Быстрый доступ, но ограничены областью видимости (удаляются после завершения метода).
- В коллекциях (
ArrayList,HashMap) используются их wrapper-классы (Integer,Double), так как примитивы не поддерживают generics.
Для оптимизации Android использует SparseArray (вместо HashMap<Integer, Object>), чтобы избежать автоупаковки.