专栏名称: macrozheng
专注Java技术分享,解析优质开源项目。涵盖SpringBoot、SpringCloud、Docker、K8S等实用技术,作者Github开源项目mall(50K+Star)。
今天看啥  ›  专栏  ›  macrozheng

听说过 HashMap 会导致CPU飙升100%吗?

macrozheng  · 公众号  ·  · 2024-05-30 14:10
    

文章预览

mall学习教程官网: macrozheng.com 一、问题描述 经常有些面试官会问, 是否了解过 HashMap 在多线程环境下使用时可能会发生死循环,导致服务器 cpu 100% 的线上故障? 关于这个问题,很多年前,在淘宝内网里就有很多的程序员发过这种帖子说 一个CPU 被100%了,原因竟是多线程环境下使用 HashMap 造成的死循环 ,并且这个事发生了很多次。 虽然 Java 官方明确表示,在多线程环境下不推荐使用 HashMap,但是对于这种问题,小编其实也比较意外,如果不是深入的去了解 HashMap,都不知道有这样的问题。 为什么会产生死循环呢?下面我们来还原一下问题的经过。 二、问题重现 在之前的集合系列文章中,我们了解到 HashMap 是一个 哈希数组 + 链表 的数据结构,在实际的程序开发中,我们经常会使用到 HashMap,如果对 HashMap 不是很了解,大家可以看小编之前写的** ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览