- HashMap:实现了Map接口,将唯一键映射到特定值上,允许一个NULL键和多个NULL值,非线程安全。
- HashTable:类似于HashMap,但是不允许NULL键和NULL值,比HashMap慢,因为他是同步的。HashTable是一个线程安全的类,它使用Synchronized来锁住整张Hash表来实现线程安全。
- ConcurrentHashMap:允许多个修改操作并发进行,其关键在于使用了锁分离技术,通过使用多个锁来控制对Hash表的不同部分进行的修改,其内部使用段来表示这些不同的部分,每个段其实就是一个小的HashTable,他们有自己的锁,只要修改操作发生在不同的段上,他们就可以并发进行。
1.1.3 HashMap、HashTable、ConcurrentHashMap各自的技术原理和使用场景是什么?
最新推荐文章于 2023-05-08 13:02:10 发布