Управление памятью в Java - PullRequest
2 голосов
/ 24 июня 2011

Как я могу удалить объект вручную в Java? Есть ли такой метод, как obj.delete() или obj.kill()

Ответы [ 4 ]

10 голосов
/ 24 июня 2011

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

Из Обучающие руководства по Java :

Сборщик мусора

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

3 голосов
/ 24 июня 2011

Нет способа удалить объект. Сборщик мусора в Java сделает это автоматически, когда у объекта больше нет ссылок.

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

Вы также должны пройти через эти обсуждения

2 голосов
/ 24 июня 2011

Одной из основных причин популярности Java является сборщик мусора.Вам не нужно беспокоиться о выделении или освобождении памяти.При этом, если вы хотите избавиться от объекта, просто установите все ссылки на объект на null, и как только сборщик мусора запустится, объект будет утилизирован.
Вам действительно нужно беспокоиться о закрытии ресурсов, таких как файлы, сокеты, соединения с базой данных и т.д ... и для этого вы должны сделать это в блоке try / finally.

0 голосов
/ 24 июня 2011

просто присвойте ему нулевое значение.

Пусть GC позаботится об этом

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