文章目录
从HashTable到ConcurrentHashMap
HashTable->HashMap->Collections.synchronizedMap(new HashMap<UUID, UUID>())->ConcurrentHashMap
HashTable的每一个方法都加了锁(synchronized),导致读取效率较低
使用synchronizedMap()可以对一个HashMap进行加锁,是对对象加锁,所以锁的粒度比HashTable中的方法锁的粒度要小,所以读取的效率会有所提高
ConcurrentHashMap的优势在于读取非常快,而插入操作要比HashTable、SynchronizedHashMap的效率慢
从Vector到Queue
Vector中的很多方法加了锁(synchronized),所以效率不是很高,Vector和HashTable是最初的集合,由于其性能问题,逐渐被淘汰
如果在多线程中,对于操作单个元素,那么可以优先考虑Queue,而不是List