Я боюсь, что это действительно глупый вопрос, но здесь говорится:
Почему метод clear в реализации по умолчанию LinkedList по умолчанию пытается перемещаться по списку и отцеплять все узлы? Почему бы просто не отцепить заголовок и оставить остальную часть списка связанными - GC получит его в любом случае, нет?
Здесь метод:
/**
* Removes all of the elements from this list.
*/
public void clear() {
Entry<E> e = header.next;
while (e != header) {
Entry<E> next = e.next;
e.next = e.previous = null;
e.element = null;
e = next;
}
header.next = header.previous = header;
size = 0;
modCount++;
}
Зачем ходить? Почему бы просто не перейти к header.next = header.previous = header;
?
Лучшее, что я могу понять, это помогает GC...? Эта ссылка http://java.sun.com/docs/books/performance/1st_edition/html/JPAppGC.fm.html#997442 показывает, что.
ТИА...