1、Vector:就比Arraylist 多了个 synchronized(线程安全),因为效率较低,现在已经不太建议使用。
2、hashTable:就比 hashMap 多了个 synchronized(线程安全),不建议使用。
3、ConcurrentHashMap:是 Java5 中支持高并发、高吞吐量的线程安全 HashMap实现。它由 Segment 数组结构和 HashEntry 数组结构组成。Segment 数组在CncurentHashMap 里扮演锁的角色,HashEntry 则用于存储键-值对数据。一个ConcurrentiashMap 里包含一个 Segment 数组,Segment 的结构和 HashMap类似,是一种数组和链表结构;一个 Segment 里包含一个HashEntry 数组,每个HashEntry是一个链表结构的元素;每个Segment 守护着一个 HashEntry数组里的元素,当对 HashEntry数组的数据进行修改时,必须首先获得它对应的Segment 锁。(推荐使用)
Was this helpful?
0 / 0