H5W3
当前位置:H5W3 > 问答 > 正文

LinkedBlockingQueue源码疑问

Node<E> h = head;
Node<E> first = h.next;
h.next = h; // help GC

在好多涉及到链表的源码中都看到了h.next = h这行代码,这行代码究竟是如何帮助GC的,求大神帮忙解答!

回答

为了减少浮动垃圾的产生
https://stackoverflow.com/questions/10106191/openjdks-linkedblockingqueue-implementation-node-class-and-gc
像在CMS收集器中无法处理浮动垃圾,只能等下一次gc时处理,浮动垃圾可能会导致二次full gc《深入理解java虚拟机》第二版的CMS收集器可以看到

本文地址:H5W3 » LinkedBlockingQueue源码疑问

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址