最近学习HBase源码时发现HRegion在sotre管理上用到了跳表数据结构ConcurrentSkipListMap:
ConcurrentSkipListMap有几个ConcurrentHashMap
不能比拟优点:
1、ConcurrentSkipListMap
的key是有序的。
2、ConcurrentSkipListMap
支持更高的并发。...
分类:
其他好文 时间:
2015-01-07 13:08:24
阅读次数:
191
原文地址:http://www.iteye.com/topic/1103980ConcurrentHashMap 是一个线程安全的Hash Table,它的主要功能是提供了一组和HashTable功能相同但是线程安全的方法。ConcurrentHashMap可以做到读取数据不加锁,并 且其内部的结构...
分类:
编程语言 时间:
2015-01-06 15:11:43
阅读次数:
197
最近做的项目中遇到一个问题:明明用了ConcurrentHashMap,可是始终线程不安全
除去项目中的业务逻辑,简化后的代码如下:
public class Test40 {
public static void main(String[] args) throws InterruptedException {
for (int i = 0; i < 10; i...
分类:
编程语言 时间:
2015-01-04 21:27:56
阅读次数:
241
HashMap是由数组+链表组成;寻址容易,插入和删除困难。(存储单元数组Entry[],数组里面包含链表)
3、HashMap、HashTable和ConcurrentHashMap的线程安全问题
HashMap:线程不安全的。
HashTable:锁住整张hash表,让线程独占。hashMap允许为空。通过分析Hashtable就知道,synchronized是针对整张Hash表的,
即每次锁住整张表让线程独占,安全的背后是巨大的浪费。
ConcurrentHashMap:一个更快的hashmap,它提...
分类:
其他好文 时间:
2014-12-24 08:42:01
阅读次数:
150
1、public V get(Object key)不涉及到锁,也就是说获得对象时没有使用锁;2、keySet().iterator()及keys(),获取的Iterator、Enumeration变量是单线程访问安全的,多线程访问时要么生成多个Iterator、Enumeration(通过调用相应...
分类:
其他好文 时间:
2014-12-23 18:55:53
阅读次数:
182
ConcurrentHashMap Collections.synchronizedMap和Hashtable讨论
分类:
其他好文 时间:
2014-12-18 18:45:34
阅读次数:
197
转载地址:http://www.blogjava.net/xylz/archive/2010/07/20/326661.html在上一篇中介绍了HashMap的原理,这一节是ConcurrentMap的最后一节,所以会完整的介绍ConcurrentHashMap的实现。ConcurrentHashM...
分类:
其他好文 时间:
2014-12-09 22:56:16
阅读次数:
243
Java 5.0 adds ConcurrentHashMap, a replacement for synchronized hash-based Map implementations, and CopyOnWriteArrayList, a replacement for synchroniz...
分类:
编程语言 时间:
2014-12-09 00:24:05
阅读次数:
192
源代码查看,有三个常量,staticfinalintDEFAULT_INITIAL_CAPACITY=16;staticfinalintMAXIMUM_CAPACITY=1<<30;staticfinalfloatDEFAULT_LOAD_FACTOR=0.75f;三个常量中可以看出,默认的容器大小...
分类:
其他好文 时间:
2014-12-07 21:39:59
阅读次数:
1269
本来想比较全面和深入的谈谈ConcurrentHashMap的,发现网上有很多对HashMap和ConcurrentHashMap分析的文章,因此本小节尽可能的分析其中的细节,少一点理论的东西,多谈谈内部设计的原理和思想。要谈ConcurrentHashMap的构造,就不得不谈HashMap的构造,...
分类:
编程语言 时间:
2014-12-02 23:59:03
阅读次数:
547