<div dir="ltr">Hi,<br>On java.util.concurrent.LinkedBlockingQueue#dequeue <a href="https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/concurrent/LinkedBlockingQueue.java#L217">https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/concurrent/LinkedBlockingQueue.java#L217</a> :<br><br>private E dequeue() {<br>Â Â // assert takeLock.isHeldByCurrentThread();<br>Â Â // assert head.item == null;<br>Â Â Node<E> h = head;<br>Â Â Node<E> first = h.next;<br>Â Â h.next = h; // help GC<br>Â Â head = first;<br>Â Â E x = first.item;<br>Â Â first.item = null;<br>Â Â return x;<br>}<br><br>Why does h.next = h help GC?<div><br>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr">Robert Lu <<a href="mailto:robberphex@gmail.com" target="_blank">robberphex@gmail.com</a>><br>About me: <a href="https://www.robberphex.com/about-me" target="_blank">https://www.robberphex.com/about-me</a><br><br></div></div></div></div></div></div>