1. 首页
  2. 编程语言
  3. Java
  4. Java HashMap源码及并发环境常见问题解决

Java HashMap源码及并发环境常见问题解决

上传者: 2022-05-04 15:41:32上传 PDF文件 128.09 KB 热度 39次

其次在扩容时候可以进行插入的,但是不安全。而此时主线程转移元素的工作就是将table中元素转移到newTable中。注意main线程的transfer方法:如果main线程刚进入transfer方法时候newTable大小是32的话,由于子线程的添加操作导致table此时元素如果有128的话。这就会导致HashMap性能下降!!!可以使用多线程环境进行debug查看即可确定。这个需要具体情况判断,调用initHashSeedAsNeeded方法判断。此时另一个线程得到cpu并顺利对该桶完成转移。

下载地址
用户评论