Путь разработчика    

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

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

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

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

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

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



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:

Нарисуйте заполненную картиной гистограмму в C#

Пример Сделать простая гистограмма в C# показывает, как рисовать гистограмму. В этом примере показано, как заполнять бары гистограммы изображениями. Следую...

22 02 2020 0:31:56

Программирование Python Socket

Программирование сокетов - одна из самых фундаментальных технологий программирования компьютерной сети . Сокет является конечной точкой двусторонней линии...

21 02 2020 1:17:37

Каковы недостатки использования InnerHTML в JavaScript?

Свойство innerHTML чрезвычайно популярно, поскольку оно обеспечивает простой способ полностью заменить содержимое элемента HTML. Другой способ сделать это...

20 02 2020 12:51:47

Используйте оператор is в C#

Оператор is позволяет определить, можно ли преобразовать объект в определенный тип. Например, предположим, что класс Student наследуется от Person и что st...

19 02 2020 15:52:48

Подтвердить форму в C#

Пример Использование события Validating в C# объясняет, как вы можете использовать обработчик событий Validating, чтобы проверить значение поля, когда фоку...

18 02 2020 3:11:27

Эндрю Стиллмен - Изучаем C#, 3-е издание - 2014

В отличие от большинства книг по программированию, построенных на основе скучного изложения спецификаций и примеров, с этой книгой читатель сможет сразу пр...

17 02 2020 2:39:59


Parse error: syntax error, unexpected ',' in /home/users/9/9161484547/domains/flash-mx.ru/lessons/926.php on line 69