HashMap
文章平均质量分 79
一个小小bug
这个作者很懒,什么都没留下…
展开
-
HashMap到底是插入链表头部还是尾部
(转载,个人学习所用,非原创)public V put(K key, V value) {if (key == null)return putForNullKey(value);int hash = hash(key.hashCode());int i = indexFor(hash, table.length);for (Entry<K,V> e = table[i]; ...转载 2019-02-26 16:09:23 · 2327 阅读 · 0 评论 -
HashMap在高并发下如果没有处理线程安全会有怎样的安全隐患,具体表现是什么
Hashmap在并发环境下,可能出现的问题:1、多线程put时可能会导致get无限循环,具体表现为CPU使用率100%;原因:在向HashMap put元素时,会检查HashMap的容量是否足够,如果不足,则会新建一个比原来容量大两倍的Hash表,然后把数组从老的Hash表中迁移到新的Hash表中,迁移的过程就是一个rehash()的过程,多个线程同时操作就有可能会形成循环链表,所以在使用ge...转载 2019-02-26 17:27:22 · 1662 阅读 · 0 评论