是不是ConcurrentHashMap可以替代所有的HashMap ConcurrentHashMap是不是可以替代所有的HashMap,一般在什么情况下会使用ConcurrentHashMap呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 支持获取的完全并发和更新的所期望可调整并发的哈希表。此类遵守与 Hashtable 相同的功能规范,并且包括对应于 Hashtable 的每个方法的方法版本。不过,尽管所有操作都是线程安全的,但获取操作不 必锁定,并且不 支持以某种防止所有访问的方式锁定整个表。此类可以通过程序完全与 Hashtable 进行互操作,这取决于其线程安全,而与其同步细节无关。 获取操作(包括 get)通常不会受阻塞,因此,可能与更新操作交迭(包括 put 和 remove)。获取会影响最近完成的 更新操作的结果。对于一些聚合操作,比如 putAll 和 clear,并发获取可能只影响某些条目的插入和移除。类似地,在创建迭代器/枚举时或自此之后,Iterators 和 Enumerations 返回在某一时间点上影响哈希表状态的元素。它们不会 抛出 ConcurrentModificationException。不过,迭代器被设计成每次仅由一个线程使用。 如果没记错,ConcurrentHashMap是不允许null key的,HashMap可以hashmap效率比ConcurrentHashMap好,因为没有锁,所以如果在单线程环境下,immutable object中,或是Thread confinement下,用HashMap在多线程环境下用ConcurrentHashMap 功能上可以,但是毕竟ConcurrentHashMap这种数据结构要复杂些,如果能保证只在单一线程下读写,不会发生并发的读写,那么就可以试用HashMap。ConcurrentHashMap读不加锁,写只加部分锁。在多线程下得高性能读写用比较好。但是这也是要用空间换时间来的。 初学……… ?:及相关的运算符用法 求助:谁忙我解释一下,table中的复选框是怎么生成的??? 同步和异步有何异同,在什么情况下分别使用他们? 解释一句代码? 一个简单的程序,请问错误在哪里 从*.properties文件加载信息到Properties prop对象里时出了问题???大虾帮帮忙 问一个很弱的问题, 求教,各位大侠,在QueryDataSet中使用查询语句只能是Select吗??????? 谁有最新的JCreator的注册码?Pro 2.5 Build 007 11月19日发布的?多谢 帮忙!!帮忙 @ 跨语言使用memcache问题 类加载
如果在单线程环境下,immutable object中,或是Thread confinement下,用HashMap在多线程环境下用ConcurrentHashMap