Hashtable和HashMap和ConcurrentHashMap

1. 数据结构

都是数组+拉链实现的哈希表,可是具体实现上差异大了数组

2. 并发

Hashtable全表锁
HashMap多线程不安全,须要本身封装
ConcurrentHashMap加细粒度锁,读不加锁,若是读到空值再加锁。注意这三个关键字final,transient,volatile安全

3. null

Hashtable不容许用 null做为键和值
HashMap容许全局最多一个null键,可是容许无数个null值
ConcurrentHashMap不容许用 null做为键和值数据结构

参考文档
http://blog.csdn.net/kingzone_2008/article/details/8179701
http://zhangshixi.iteye.com/blog/672697
http://ifeve.com/concurrenthashmap/多线程

相关文章
相关标签/搜索