还看不懂JDK7 HashMap环的产生原理你来打我

JDK7对旧table数据重定位到新table的函数transfer如下,其中重点关注部分以标出。
在这里插入图片描述

  1. 头插法正常情况下:
    在这里插入图片描述
  2. 并发情况下
    线程1只执行了Entry<K,V> next = e.next就被挂起了,而线程2正常执行完毕,结果图如下:
    在这里插入图片描述
    线程1接着下面继续执行:
    在这里插入图片描述
    通过逐步分析跟绘图可以知道红色部分会有环产生。
发布了346 篇原创文章 · 获赞 2382 · 访问量 159万+

猜你喜欢

转载自blog.csdn.net/qq_31821675/article/details/105221231