Что такое сборщик мусора в Java? - PullRequest
99 голосов
/ 26 сентября 2010

Я новичок в Java и запутался насчет сборщика мусора в Java.Что он на самом деле делает и когда он вступает в действие.Пожалуйста, опишите некоторые свойства сборщика мусора в Java.

Ответы [ 16 ]

0 голосов
/ 14 марта 2017

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

0 голосов
/ 22 февраля 2017

Автоматический сборщик мусора - это процесс просмотра памяти кучи, определения того, какие объекты используются, а какие нет, и удаления неиспользуемых объектов.Используемый объект или ссылочный объект означает, что некоторая часть вашей программы все еще поддерживает указатель на этот объект.На неиспользуемый объект или на объект, на который нет ссылок, больше не ссылается ни одна часть вашей программы.Таким образом, память, используемая объектом, на который нет ссылок, может быть восстановлена.

В языке программирования, таком как C, выделение и освобождение памяти - это ручной процесс.В Java процесс освобождения памяти обрабатывается сборщиком мусора автоматически.Пожалуйста, проверьте ссылку для лучшего понимания.http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html

0 голосов
/ 30 сентября 2015

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

0 голосов
/ 20 сентября 2014

Сборщик мусора является компонентом jvm.

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

Здесь мусор означает неиспользуемые объекты, которые он запускает в фоновом режиме основной программы

для контроля состояния основной программы.

0 голосов
/ 26 сентября 2010

Сборщик мусора можно рассматривать как менеджер подсчета ссылок.если объект создан и его ссылка хранится в переменной, его счетчик ссылок увеличивается на единицу.в ходе выполнения, если эта переменная назначена с NULL.счетчик ссылок для этого объекта уменьшается.поэтому текущий счетчик ссылок для объекта равен 0. Теперь, когда сборщик мусора выполняется, он проверяет объекты с счетчиком ссылок 0. и освобождает выделенные ему ресурсы.

Сборщик мусоравызов управляется политиками сбора мусора.

Вы можете получить некоторые данные здесь.http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html

0 голосов
/ 26 сентября 2010

Сборка мусора в Java (а также на других языках / платформах) - это способ для среды выполнения Java (JRE) повторно использовать память из объектов Java, которые больше не нужны.Упрощенно, когда JRE первоначально запускается, он запрашивает у операционной системы (O / S) определенный объем памяти.Когда JRE запускает ваше приложение (я), оно использует эту память.Когда ваше приложение выполнено с использованием этой памяти, JRE «Сборщик мусора» приходит и освобождает эту память для использования различными частями ваших существующих приложений.«Сборщик мусора» в JRE - это фоновая задача, которая всегда выполняется и пытается выбрать время, когда система не работает, чтобы запустить ее сборку мусора.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...