一.基础普及 接口(interface) 类(class) 继承类 实现的接口 Array √ Collection √ Set √ Collection List √ Collection Map √ Collection Vector √ List ArrayList √ List HashMap √ Map Hashtable √ Dictionary Map ConcurrentMap √ Map ConcurrentHashMap   √ ConcurrentMap 二.对比 1.Ha…
注: 今天看到的一篇讲hashMap,hashTable,concurrentHashMap很透彻的一篇文章, 感谢原作者的分享. 原文地址: http://blog.csdn.net/zhangerqing/article/details/8193118 Java集合类是个非常重要的知识点,HashMap.HashTable.ConcurrentHashMap等算是集合类中的重点,可谓"重中之重",首先来看个问题,如面试官问你:HashMap和HashTable有什么区别,一个比较简…
注: 今天看到的一篇讲hashMap,hashTable,concurrentHashMap很透彻的一篇文章, 感谢原作者的分享.  原文地址: http://blog.csdn.net/zhangerqing/article/details/8193118  Java集合类是个非常重要的知识点,HashMap.HashTable.ConcurrentHashMap等算是集合类中的重点,可谓"重中之重",首先来看个问题,如面试官问你:HashMap和HashTable有什么区别,一个比…
线程安全类 在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的.在jdk1.2之后,就出现许许多多非线程安全的类. 下面是这些线程安全的同步的类: vector:就比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使用.在web应用中,特别是前台页面,往往效率(页面响应速度)是优先考虑的. statck:堆栈类,先进后出 hashtable:就比hashmap多了个线程安全 enumeration:枚举,相当于迭代器 除了这些之外,其他的都是非线程安全…
HashMap 不是线程安全的 HashTable,concurrentHashMap 是线程安全 HashTable 底层是所有方法都加有锁(synchronized) 所以操作起来效率会低 concurrentHashMap 底层是分断锁(根据自定的hashcode算法生成的对象来获取对应hashcode的分段块进行加锁),所以效率会比hashTable提升n倍,相当于一个分断的hashTable LinkedHashMap 是一个双向链表,按顺序存取,读取效率会比hashMap慢 Hash…
大家可能平时用HashMap比较多,相对于ConcurrentHashMap 来说并不是很熟悉.ConcurrentHashMap 是 JDK 1.5 添加的新集合,用来保证线程安全性,提升 Map 集合的并发效率.ConcurrentHashMap 使用了 Segment 的概念,默认有 16 个 Segment(段,块,部分),Segment 里面依然还是数组 + 链表的数据结构,相当于给 HashMap 分桶处理了.因每次只会锁住其中一个 Segment,所以性能非常好.然而,有意思的是,…
线程池ThreadPoolExecutor的使用 并发容器之CopyOnWriteArrayList 并发容器之CopyOnWriteArraySet 数据结构之ConcurrentHashMap,区别于HashMap的非线程安全,比HashTable更高效 数据结构之ConcurrentSkipListMap java并发之CountDownLatch java并发之Semaphore java并发之CyclicBarrier Exchanger兄弟线程间数据信息交换 Executors类似一…
Map:“键值”对映射的抽象接口.该映射不包括重复的键,一个键对应一个值. SortedMap:有序的键值对接口,继承Map接口. NavigableMap:继承SortedMap,具有了针对给定搜索目标返回最接近匹配项的导航方法的接口. AbstractMap:实现了Map中的绝大部分函数接口.它减少了“Map的实现类”的重复编码. Dictionary:任何可将键映射到相应值的类的抽象父类.目前被Map接口取代. TreeMap:有序散列表,实现SortedMap 接口,底层通过红黑树实现.…
1. Hashtable 和 HashMap (1)区别,这两个类主要有以下几方面的不同:Hashtable和HashMap都实现了Map接口,但是Hashtable的实现是基于Dictionary抽象类. 在HashMap中,null可以作为键,这样的键只有一个:可以有一个或多个键所对应的值为null. 当get()方法返回null值时,即可以表示 HashMap中没有该键,也可以表示该键所对应的值为null. 因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键,…
HashMap:每个隔间都没锁门,有人想上厕所,管理员指给他一个隔间,里面没人的话正常用,里面有人的话把这个人赶出来然后用. 优点,每个人进来不耽误都能用:缺点,每一个上厕所的人都有被中途赶出来的危险.   Hashtable:在卫生间外面安装一个大门,有人想上厕所,问管理员要一个钥匙进门,把门反锁用,用完后出来,把钥匙交换给管理员.在这个人上厕所期间,其他所有人都必须在外面排号. 优点,每个人都能安心上完厕所:缺点,卫生间外面可能已经出了人命. =_=   ConcurrentHashMap:…