How could self link help GC?

Robert Lu robberphex at gmail.com
Sun Jun 21 11:59:58 UTC 2020


Hi,
On java.util.concurrent.LinkedBlockingQueue#dequeue
https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/concurrent/LinkedBlockingQueue.java#L217
:

private E dequeue() {
    // assert takeLock.isHeldByCurrentThread();
    // assert head.item == null;
    Node<E> h = head;
    Node<E> first = h.next;
    h.next = h; // help GC
    head = first;
    E x = first.item;
    first.item = null;
    return x;
}

Why does h.next = h help GC?

-- 
Robert Lu <robberphex at gmail.com>
About me: https://www.robberphex.com/about-me
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-use/attachments/20200621/b788f7e5/attachment.htm>


More information about the hotspot-gc-use mailing list