Как настроить объект на null, помогая сборке мусора?

Не обязательно. Объект становится пригодным для сбора мусора, когда нет живых потоков, которые содержат ссылку на объект.

Явное обнуление - это просто практика установки ссылочных объектов на нуль, когда вы закончите с ними. Идея обнуления заключается в том, что она помогает сборщику мусора, делая объекты недоступными ранее. GC (сбор мусора) в Java в эти дни очень умный, и все должно быть очищено очень скоро после того, как оно больше не доступно. Это сразу после того, как вы оставили метод для локальных переменных и когда экземпляр класса больше не ссылается на поля.

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

Объект доступен, если он может быть задействован в любом потенциальном продолжающемся вычислении. Поэтому, если ваш код относится к локальной переменной, и ничто другое не ссылается на него, вы можете заставить объект собираться, установив его в null. Это приведет либо к исключению нулевого указателя, либо изменит поведение вашей программы, либо если вам это не понадобится, вам не нужна переменная в первую очередь. Трюки, такие как явное обнуление или объединение объектов, которые когда-то считались разумными методами повышения производительности, больше не нужны или не полезны (и могут даже быть вредными), поскольку стоимость распределения и сбора мусора значительно сократилась.

Источник: http://net-informations.com/Java/cJava/objectonull.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector