欢迎来到天天文库
浏览记录
ID:8853408
大小:20.00 KB
页数:2页
时间:2018-04-09
《java的hashmap高并发问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、java的HashMap高并发问题2010年1月9日114views评论发表评论今天不知为什么服务器卡死了把所有线程的堆栈打印出来是这样的java.util.HashMap.get………………com.labox.common.net.ReceiveWorker.runjava.util.concurrent.ThreadPoolExecutor$Worker.runTaskjava.util.concurrent.ThreadPoolExecutor$Worker.runjava.lang.Thread.run所有线程都是卡死
2、在这里了后来也想不出为什么就用ConcurrentHashMap代替了突然在ibm上发现一编文章是这写的JR33299:6.2.0.1:java.util.HashMap.get()causeshighCPUuseaftermigration<********PASTEMAINBODYCONTENTHERE********>DownloadablefilesAbstractAftermigrationofaWebSphereInterChangeServerrepositoryanddeploymentofthemigrate
3、dartifactstoWebSphereProcessServer,themigratedcontentcauseshighCPUuse.DownloadDescriptionJR33299resolvesthefollowingproblem:ERRORDESCRIPTION:AftermigrationofaWebSphereInterChangeServerrepositoryanddeploymentofthemigratedartifactstoWebSphereProcessServer,themigratedc
4、ontentcauseshighCPUusewhencallingtheBusObjAPI.Thethreaddumpshowsthatmanythreadsarewaiting,whichcausesadegradationinperformance:atjava.util.HashMap.get(HashMap.java:346)atCxCommon.BusinessObject.(BusinessObject.java:277)atCollaboration.BusObj.(BusObj.java
5、:94)UsingConcurrentHashMapinsteadofHashMapcanbypassthisJavaproblem.LOCALFIX:Youcanpossiblyavoidthisproblembyreducingtheconcurrencyofthesystem.USERSAFFECTED:WebSphereProcessServerv6.2.0.1userswhomigrateaWebSphereInterChangeServerrepository.PROBLEMDESCRIPTION:Aftermig
6、rationofaWebSphereInterChangeServerrepositoryanddeploymentofthemigratedartifactstoWebSphereProcessServer,highCPUisseeninjava.util.HashMap.get(),whichiscalledbyanearlyversionoftheBusObjAPI.RECOMMENDATION:NonePROBLEMSUMMARY:java.util.HashMapisnotthread-safeandcancause
7、highCPUusewhenHashMapisusedinaconcurrentsettingwithinsufficientsynchronization.PROBLEMCONCLUSION:Applyingthisinterimfixresolvestheproblem.ThefixforthisAPARistargetedforinclusioninafuturev6.2.0fixpack.好明显,ibm的websphere也遇到这个问题,后来也是把hashMap换成ConcurrentHashMap解决的
此文档下载收益归作者所有