社区
Java SE
帖子详情
Java集合类(线程安全与非线程安全)的效率问题
major57
2014-02-26 11:06:50
java集合类中非线程安全的集合可以用同步包装器使集合变成线程安全,比如:
HashMap --> Collections.synchronizedMap(new HashMap()),
那如果比较Collections.synchronizedMap(new HashMap())和HashTable的话,
哪个的效率更高呢?类似的对应集合(HashMap-HashTable)还有哪些呢,各自
的效率又如何呢?欢迎举例,多多益善....
...全文
849
7
打赏
收藏
Java集合类(线程安全与非线程安全)的效率问题
java集合类中非线程安全的集合可以用同步包装器使集合变成线程安全,比如: HashMap --> Collections.synchronizedMap(new HashMap()), 那如果比较Collections.synchronizedMap(new HashMap())和HashTable的话, 哪个的效率更高呢?类似的对应集合(HashMap-HashTable)还有哪些呢,各自 的效率又如何呢?欢迎举例,多多益善....
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
程序男
2014-07-25
打赏
举报
回复
楼上总结的真好,学习了
tony4geek
2014-02-26
打赏
举报
回复
看你需要什么情况下用什么。
Defonds
2014-02-26
打赏
举报
回复
鱼和熊掌的问题了。 比如竞标系统,系统不会太大,而且并发量也不会太高。 这时候你就不需要去考虑空间管理等问题,速度和效率是第一位的。 而如果是银行项目,如果效率和安全二选其一,你是程序员,你怎么选?
major57
2014-02-26
打赏
举报
回复
引用 1 楼 defonds 的回复:
效率和异常是对双刃剑。如何取舍,就看你现实情况了
就是不知道如何取舍,所以才来求解!希望能举例说明,
Defonds
2014-02-26
打赏
举报
回复
效率和异常是对双刃剑。如何取舍,就看你现实情况了
lxbccsu
2014-02-26
打赏
举报
回复
其实Java集合用到了很多的数据结构,用不同的数据结构实现的Java集合类,当然在不同的场合中使用有不同的性能表现;下面简单说说你提到的这两个类似的java集合类在多线程下的效率问题(一般都是时间方面): 首先Collections.synchronizedMap(new HashMap())和HashTable 都是同步集合,Collections.synchronizedMap采用的同步块实现,HashTable采用的是同步方法实现,在多线程环境下,一般认为是同步块好于同步方法; 其次,说到多线程,那线程安全是很重要的,这两个同步集合对于一些常见的简单操作:如put, remove, get等,线程安全对于单个操作来说是没什么问题的,但对于一些复合操作来说,如同时put和remove,迭代等,要保证线程安全,就必须在使用时 同步加锁 了,也就是确保像 put和remove 是一个原子操作,当然两种Java集合类都采用hash算法实现,运行效率不会有什么大的区别;前面说到它们都是同步集合,也就是说在多线程下并发操作时,不管是简单的操作还是复合操作,为了线程安全,都是串行的操作,这样就会大大降低程序的效率,所以呢,并发集合ConcurrentHashMap出现了,这样即解决的并发问题,也解决了效率问题; 最后,建议你在多线程下,就用ConcurrentHashMap吧,用它来替换你说的那两个同步集合; 至于其他的集合类,就自己去学习了。
俺是小王子
2014-02-26
打赏
举报
回复
个人觉得具体问题具体分析~~~
你说的有些宽泛~~~~
28个
java
常用的工具类源码
实战中有些代码直接套用就ok,不用动手了,会写代码的不一定是高手,但是高手一定是组织代码的老手!
下载 多线程编程技术开发资料 高清完整PDF版
多线程编程技术开发资料.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权
问题
,请联系删除!
Java
.Concurrency.in.Practice.pdf
Java
.Concurrency.in.Practice.pdf
Java
API文档 中文网页版
Java
API文档中文版,欢迎下载!!
Java SE
62,630
社区成员
307,264
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章