2021
12-11
12-11
浅谈HashMap在高并发下的问题
前言总所周知,HashMap不是线程安全的,在高并发情况下会出现问题。特别是,在java1.7中,多线程的HashMap会出现CPU100%的严重问题。这个问题是怎样产生的,后续版本还会有这个问题吗(指java8及后续版本)?下面就来用通俗的语言讲解下。解析关于这个问题,是由于java7多线程扩容机制下链表变为循环链表,再获取该链表导致的。看下java7中扩容的代码。java7中HashMap的实现为数组+链表的形式,没有红黑树。java7扩容的原则很简单...
继续阅读 >