net() impl ben bu gerçekten aptal soru korku, ama burada gider:Java'nın LinkedList
Neden Java'nın varsayılan LinkedList hayata geçirilmesinde önemli yöntem liste yürütmek ve tüm düğümleri unhook rahatsız ediyor? Neden sadece başlığı kaldırmayın ve listenin geri kalanını bırakmayın - GC yine de alacak, değil mi?
/**
* 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++;
}
Neden yürümek: Burada
yöntemidir? Neden sadeceheader.next = header.previous = header;
'a atlamıyorsunuz?
En iyi Ben GC yardımcı olur ... Bu bağlantı http://java.sun.com/docs/books/performance/1st_edition/html/JPAppGC.fm.html#997442 türünün bunu öneriyor.
TIA ...
Tamamen katılmıyorum, dış kod için bir LinkedList $ Giriş referans almak için bir yol ... ama dolaylı olarak LinkedList $ ListItr aracılığıyla emin olabilirsiniz söylüyorum ... Teşekkürler ve iyi yakalamak! – overthink
Düğüm ne tutuyordu? Bir yineleyici veya alt liste, ama bunlar geçerli olmayacak, bu yüzden geçerli olmayacaktır. –
@ Tom: Bunu yapmadıysanız, altList ve Yineleyici çalışmaya devam edecektir, ancak toplama çerçevesi başarısız olmaya çalışır (ancak bunu garanti etmez). –