面试java多线程&锁

ConCurrentHashMap 1.7 和 1.8 的区别

2018-03-24  本文已影响0人  JeffMei

ConCurrentHashMap 1.8 相比 1.7的话,主要改变为:

下面简单介绍下主要的几个方法的一些区别:

1. put() 方法

JDK1.7中的实现:

ConCurrentHashMap 和 HashMap 的put()方法实现基本类似,所以主要讲一下为了实现并发性,ConCurrentHashMap 1.7 有了什么改变

JDK1.8中的实现:

2. get() 方法

JDK1.7中的实现:

JDK1.8中的实现:

3. resize() 方法

JDK1.7中的实现:

JDK1.8中的实现:

4. 计算size

JDK1.7中的实现:

JDK1.8中的实现:

由于没有segment的概念,所以只需要用一个 baseCount 变量来记录ConcurrentHashMap 当前 节点的个数

上一篇 下一篇

猜你喜欢

热点阅读