是不是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读不加锁,写只加部分锁。在多线程下得高性能读写用比较好。但是这也是要用空间换时间来的。 关于Jpanel面板使用问题(在线等) 急!!怎么使用代理下载访问啊? 小妹跪求高手指点!!! 关于数组 因为本广告公司内的设计部需用十几台电脑,如果要建立一个无盘网络进行日常设计工作,效果会如何,各位兄弟给点意见? 如何匹配输出字符串? JBUILDER dbpilot连数据库失败的问题? 请教有关参数的问题 在jtable中如何把其中某一单元格变成只读的? 有人知道SCJP的题库怎么更新的么? 跨语言使用memcache问题 类加载
如果在单线程环境下,immutable object中,或是Thread confinement下,用HashMap在多线程环境下用ConcurrentHashMap