Сборка мусора работает автоматически или вручную?

Я хочу спросить, удаляет ли сборщик мусора автоматически неиспользуемые объекты в программе Java или это нужно делать вручную, присвоив объекту значение null?


person Gabriele Koženevskytė    schedule 08.12.2018    source источник
comment
В Java это делается автоматически. Назначение NULL необходимо только для логики программирования, а не для сборки мусора.   -  person WonderWoman    schedule 08.12.2018
comment
Автоматически ...   -  person Ekrem    schedule 08.12.2018
comment
Установка переменной в значение NULL не приводит к удалению объекта, но может позволить объекту, на который нет ссылки, автоматически собираться мусор.   -  person khelwood    schedule 08.12.2018
comment
Установка для переменной значения null аналогична удалению чьего-либо номера телефона с вашего телефона: вы больше не можете позвонить по нему, но его телефон все еще существует, и его может позвонить любой, у кого есть его номер.   -  person Andy Turner    schedule 08.12.2018
comment
@SandyC - Назначение NULL необходимо только для логики программирования, а не для сборки мусора. Не совсем так. В некоторых случаях присвоение значения null позволяет избежать утечки памяти; например посмотрите исходный код для ArrayList.clear() ...   -  person Stephen C    schedule 08.12.2018


Ответы (1)


Из здесь

В таком языке программирования, как C, выделение и освобождение памяти выполняется вручную. В Java процесс освобождения памяти автоматически обрабатывается сборщиком мусора.

Предлагаю вам прочитать статью полностью. Вы будете хорошо понимать, как работает сборщик мусора в Java. HTH.

person Lavish Kothari    schedule 08.12.2018