Что хранится в Heap

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

Ответ

В Heap хранятся все объекты, созданные через new, а также массивы. Сюда попадают:

  • Объекты классов (экземпляры)
  • Массивы (включая массивы примитивов)
  • Строки (String)
  • Коллекции (List, Map и т.д.)

Пример:

// Все эти объекты попадают в Heap
String str = new String("Hello");
List<Integer> list = new ArrayList<>();
int[] array = new int[10];

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

  • Управляется Garbage Collector'ом
  • Размер ограничен памятью устройства
  • Доступ к объектам идет по ссылкам из Stack