锁定老帖子 主题:sun的程序员也是程序员啊!(续)
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-05-06
hotjava 写道 请教一下,多线程的压力测试工具用的啥? 是loadrunner么?
目前用的是soapui,功能测试和压力测试都是用这个。 对于压力测试而言,soapui稍嫌不够专业,按说用LoadRunner会更合适,不过我们目前并不要求得到很准确详尽的测试记录,能达到一定压力即可,焦点还是在发现和解决存在的问题,争取做到尽可能高的性能。 等我们的工作完成之后,会交给测试部分做专门的压力测试和稳定性测试。 |
|
返回顶楼 | |
发表时间:2010-05-06
最后修改:2010-05-06
骨之灵魂 写道 牛 虽然看得不是很懂
估计你没有太认真看帖 ,呵呵,其实内容挺简单的,总结起来就一句话: 不要在对hashmap做迭代的同时,修改hashmap的结构。 |
|
返回顶楼 | |
发表时间:2010-05-07
skydream 写道 骨之灵魂 写道 牛 虽然看得不是很懂
估计你没有太认真看帖 ,呵呵,其实内容挺简单的,总结起来就一句话: 不要在对hashmap做迭代的同时,修改hashmap的结构。 ------------- C#如果做如上操作时要抛出异常的。 |
|
返回顶楼 | |
发表时间:2010-05-07
打个记号一下,有空再看。
楼主前辈,晚辈我对你的敬仰犹如滔滔江水,连绵不绝,又如黄河泛滥,一发不可收拾。 |
|
返回顶楼 | |
发表时间:2010-05-07
搂主, 是你自己不理解HashMap的实现原理, 不是bug, 当你跌代时, 同时试图删除或增加对象时,就会抛异常, 是故意这样做的, 避免跌代时有人修改。因为java为了考率到了效率问题。 因为ValueIterator和HashMap施共享了数组, 否则就的大量复制对象, 并且ValueIterator使它的内部类。所有List和Set都是这样的。
|
|
返回顶楼 | |
发表时间:2010-05-07
yewen0125 写道 搂主, 是你自己不理解HashMap的实现原理, 不是bug, 当你跌代时, 同时试图删除或增加对象时,就会抛异常, 是故意这样做的, 避免跌代时有人修改。因为java为了考率到了效率问题。 因为ValueIterator和HashMap施共享了数组, 否则就的大量复制对象, 并且ValueIterator使它的内部类。所有List和Set都是这样的。
你好像没有看懂楼主的意思 |
|
返回顶楼 | |
发表时间:2010-05-07
Ulysses 写道 yewen0125 写道 搂主, 是你自己不理解HashMap的实现原理, 不是bug, 当你跌代时, 同时试图删除或增加对象时,就会抛异常, 是故意这样做的, 避免跌代时有人修改。因为java为了考率到了效率问题。 因为ValueIterator和HashMap施共享了数组, 否则就的大量复制对象, 并且ValueIterator使它的内部类。所有List和Set都是这样的。
你好像没有看懂楼主的意思 呵呵,yewen0125兄弟应该是没有看懂我的意思。 我说有bug是指metro的代码,不是说hashmap。hashmap的处理方式没有问题,现在出现的问题在于metro的对hashmap的使用上:一边迭代一边修改结构。这种方式为hashmap所不容,因此hashmap直截了当的抛出ConcurrentModificationException来表示“抗议”。 |
|
返回顶楼 | |
发表时间:2010-05-07
最后修改:2010-05-07
|
|
返回顶楼 | |
发表时间:2010-05-07
hashmap不同步的确容易出现这种异常,在guzz slowupdate service测试时我也碰到了。当负载上去的时候,不同步进行遍历就抛出ConcurrentModificationException,这是意料中的,当出现这个错误的时候本来设计是直接放弃准备下一次在更新;但很奇怪的是一旦出现一次ConcurrentModificationException,HashMap好像以后每次都会抛出ConcurrentModificationException,根本没法再用,可能也是一个bug,具体原因还没有研究。。。
|
|
返回顶楼 | |
发表时间:2010-05-10
很佩服楼主的钻研精神,从发现bug,到阅读源码找到bug。确确实实学习了一会,很多问题都是要看完源码之后才能解决的。
|
|
返回顶楼 | |