- 博客(4)
- 资源 (12)
- 收藏
- 关注
转载 老生常谈,HashMap的死循环
问题最近的几次面试中,我都问了是否了解HashMap在并发使用时可能发生死循环,导致cpu100%,结果让我很意外,都表示不知道有这样的问题,让我意外的是面试者的工作年限都不短。由于HashMap并非是线程安全的,所以在高并发的情况下必然会出现问题,这是一个普遍的问题,虽然网上分析的文章很多,还是觉得有必须写一篇文章,让关注我公众号的同学能够意识到这个问题,并了解这个死循环是如何产生的。如果是在单线程下使用HashMap,自然是没有问题的,如果后期由于代码优化,这段逻辑引入了多线程并发执行,在一
2020-07-27 14:22:10 204
转载 HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!
前言Map 这样的Key Value在软件开发中是非常经典的结构,常用于在内存中存放数据。本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 HashMap,没有它就不会有后面的 ConcurrentHashMap。HashMap众所周知 HashMap 底层是基于数组 + 链表组成的,不过在 jdk1.7 和 1.8 中具体实现稍有不同。Base 1.71.7 中的数据结构图:先来看看 1.7 中的实现。...
2020-07-24 16:29:09 129
转载 既然有 HTTP 请求,为什么还要用 RPC 调用?
问:既然有 HTTP 请求,为什么还要用 RPC 调用?首先 RPC 框架配置复杂,如果走 HTTP 请求同样也能做到相同功能,而且配置可以几乎为零配置。项目也不用引用太多的包。虽然如果单纯用 RPC,可以不用类似于 Servlet 的 Web 标准。首先,实名赞扬题主的问题。这个问题非常好。其次,实名反对各个上来就讲RPC好而HTTP不好的答案。因为,题主的观点非常对。HTTP协议,以其中的Restful规范为代表,其优势很大。它可读性好,且可以得到防火墙的支持、跨语言的支持。而且,在去年
2020-07-03 14:26:20 219
转载 我画了35张图就是为了让你深入 AQS
前言谈到并发,我们不得不说AQS(AbstractQueuedSynchronizer),所谓的AQS即是抽象的队列式的同步器,内部定义了很多锁相关的方法,我们熟知的ReentrantLock、ReentrantReadWriteLock、CountDownLatch、Semaphore等都是基于AQS来实现的。我们先看下AQS相关的UML图:image思维导图(高清无损 AV 画质长图.pdf 关注公众号回复 AQS 获取)image1AQS实现原理AQS中 维护了
2020-07-01 16:13:34 187
A Byte of Python高清完整版
2018-09-17
Hadoop实战-陆嘉恒(高清完整版)
2018-09-17
git+github+gitserver学习资料
2018-09-17
TortoiseSVN-1.10-x64安装包
2018-08-15
SourceTree2.4.8安装包
2018-08-15
notepad++7.4.2安装包
2018-08-15
heidiSql_9.4版安装包
2018-08-15
gitbash安装包
2018-08-15
python3.6&3.7整合版
2018-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人