今天看了ConcurrentLinkedQueue的源码,其中我对offer方法的理解和网上绝大多数博文一致(下图所示):

但是我自己debug程序却发现,添加第一个节点是这样子的:

原因已找到:idea默认debug开启了toString()预览,也就是bebug时候看到的值是通过toString()方法获得的。但是集合本身的toString(),会调用iterator()和itr.next(), itr.next()会调用 first()方法。first()方法会修改head的值。
参考:https://blog.csdn.net/AUBREY_CR7/article/details/106331490

被折叠的 条评论
为什么被折叠?



