о сборщике мусора при удалении узла из LinkedList - PullRequest
0 голосов
/ 26 февраля 2012

это пример кода из функции удаления в моем классе LinkedList, который удаляет узел из середины.

        temp.getPrev().setNext(temp.getNext());
        temp.getNext().setPrev(temp.getPrev());
        temp.setNext(null);
        temp.setPrev(null);

мой вопрос: нужно ли мне устанавливать временные параметры next и prev, ссылаясь на null или сборщик мусорасправиться с этим автоматически_?Я буду очень признателен, если вы сможете мне помочь.и все равно спасибо.

Ответы [ 5 ]

2 голосов
/ 26 февраля 2012

Сборщик мусора анализирует, есть ли ссылка от до объекта. Поскольку после завершения вашего метода нет ссылки на temp, GC должен удалить этот объект.

1 голос
/ 26 февраля 2012

ГХ учитывает только ссылки на рассматриваемый объект. Неважно, есть ли у объекта ссылки на другие объекты.

1 голос
/ 26 февраля 2012

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

1 голос
/ 26 февраля 2012

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

1 голос
/ 26 февраля 2012

Сборщик мусора увидит, когда не останется ссылок от до temp.Поэтому вам не нужно заботиться об обнулении исходящих ссылок - если вы больше не сможете достичь временного значения, это будет сборщик мусора (в конце концов).

...