<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>