Кто занимается работой с памятью в Java

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

Ответ

В Java управление памятью автоматизировано с помощью Garbage Collector (GC). Он освобождает память, удаляя объекты, на которые нет ссылок. Разработчик может влиять на этот процесс косвенно:

  • Создавая/удаляя ссылки (obj = null).
  • Используя слабые ссылки (WeakReference).
  • Вызывая System.gc() (но это лишь рекомендация для JVM).

Пример:

Object obj = new Object(); // Объект в куче  
obj = null; // GC может удалить его  

Важно: Утечки памяти всё равно возможны (например, через статические коллекции).