详解CurrentHashMap之预习篇

CurrentHashMap的出现时为了解决HashMap的高并发导致OOM的缺陷,并且能够保证高性能读取。
那么解读CurrentHashMap需要具备哪些知识的呢?

  • HashMap 解读
  • Java 内存模型
  • Java UnSafe
  • AQS(AbstractQueuedSynchronizer)
  • ReentrantLock

其实上面的很多预习知识点包含了JUC包中很多基础的理论知识,要啃这些理论需要用心去看图文分析。否则,一路解读下来由于囫囵吞枣,很耐吃透。

参考资料

这里我找了一些易懂的博文供大家参考,当然最好是花时间啃书。

面试题整理

那啥,看源码最直接的输出,能破面试题吧,这也是看完源码直接需要输出的能力。

(1)ConcurrentHashMap与HashMap的数据结构是否一样?

(2)HashMap在多线程环境下何时会出现并发安全问题?

(3)ConcurrentHashMap是怎么解决并发安全问题的?

(4)ConcurrentHashMap使用了哪些锁?

(5)ConcurrentHashMap的扩容是怎么进行的?

(6)ConcurrentHashMap是否是强一致性的?

(7)ConcurrentHashMap不能解决哪些问题?

(8)ConcurrentHashMap中有哪些不常见的技术值得学习?

原文地址:https://www.cnblogs.com/Profound/p/11187323.html