Рубрики
Без рубрики

Сборка мусора с примером : Наглядный способ

Разберитесь в сборке мусора на Java наглядным способом

Автор оригинала: Mahesh.

Сборщик Мусора: Как следует из названия, сборщик мусора помогает выполнять очистку выброшенных объектов. Отброшенные объекты-это те объекты, которые недоступны ни одному живому потоку. Изображение ниже поможет вам лучше понять это:

Когда объект подходит для сбора мусора?

Чтобы ответить на это в одной строке, как только срок службы последней переменной, ссылающейся на объект и, объект становится пригодным для сборки мусора.

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

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

Итак, в заключение, если мы объявим все наши переменные разумно, нам не нужно беспокоиться о сборке мусора, за исключением некоторых сценариев, которые мы обсудим позже.

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

Как явно сделать объект подходящим для сборки мусора?

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

1. Сделав ссылку нулевой

2. Задав ссылочную переменную, обратитесь к другому объекту

Что такое “остров изоляции” на Яве?

Пожалуйста, обратитесь к изображению ниже.

Когда начинается процесс уборки мусора ?

Ответ на этот вопрос то есть нет гарантированного способа, когда начнется этот процесс очистки, он варьируется от JVM к JVM и базовой платформе.

Можем ли мы принудительно собрать мусор?

Мы не можем принудительно собирать мусор, но мы можем запросить его с помощью следующих методов. Еще раз мы не можем вызвать сборку мусора этими методами, мы просто запрашиваем, будет ли ваш запрос выполнен, зависит исключительно от JVM.

  1. System.gc();

  2. Система.Завершение выполнения();

Единственным методом, который утверждает, что гарантирует принудительную сборку мусора, является System.runFinalizersOnExit (), но этот метод имеет много ограничений, и из-за этого он устарел.

Оригинал: “https://www.codementor.io/@mahesh9/garbage-collection-with-example-the-pictorial-way-gr4tmbot8”