线程高手请进来,死锁导致high JVM问题

问题描述

有这样一个类:造成死锁------------------------------------------------------------------------------------------packagecom.chl.dps.util;importjava.util.Hashtable;importjava.util.Map;importcom.cathaypacific.vcm.content.subclass.Glossary;importcom.chl.dps.vo.Language;publicclassGlossaryUtil{privateHashtableglossaryHash=newHashtable();privatestaticGlossaryUtil_instance=null;privateGlossaryUtil(){}publicstaticsynchronizedGlossaryUtilgetInstance(){if(_instance==null){_instance=newGlossaryUtil();}return_instance;}publicsynchronizedvoidresetCache(){glossaryHash=newHashtable();}publicStringget(Stringtitle,Stringlocale,StringmsgName){MaplocaleMap=get(title,locale,false);if(localeMap!=null){Stringvalue=(String)localeMap.get(msgName);if(value!=null){returnvalue;}}localeMap=get(title,Language.getLangCode(locale));if(localeMap!=null){Stringvalue=(String)localeMap.get(msgName);if(value!=null){returnvalue;}}returnnull;}publicMapget(Stringtitle,Stringlocale){returnget(title,locale,true);}publicMapget(Stringtitle,Stringlocale,booleandefaultLang){Glossaryglossary=get(title);if(glossary==null){returnnull;}MaplocaleMap=glossary.getGlossary(locale);if(defaultLang&&localeMap==null){localeMap=glossary.getGlossary(Language.DEFAULT);}returnlocaleMap;}publicGlossaryget(Stringkey){if(!contains(key)){put(key,load(key));}return(Glossary)glossaryHash.get(key);}privatesynchronizedbooleancontains(Objectkey){returnglossaryHash.containsKey(key);}privatesynchronizedvoidput(Objectkey,Glossaryvalue){if(value!=null){glossaryHash.put(key,value);}}publicsynchronizedvoidremove(Stringtitle){glossaryHash.remove(title);}privatesynchronizedGlossaryload(Stringtitle){returnContentUtil.findGlossary(title);}/***Matchastringpatternandreplacewiththereplacementstring*intheinputtedtext*<p>*@parampatmatchingstringpattern*@paramrepreplacementstring*@paramorioriginaltext*@returnstringafterreplacement*/publicstaticStringreplace(Stringpat,Stringrep,Stringori){StringBuffersb;if(rep==null){rep="";}if(ori!=null){if(pat!=null){intcount=0;inti,j;for(i=0;(i=ori.indexOf(pat,i))!=-1;i+=pat.length()){++count;}sb=newStringBuffer(ori.length()+count*(rep.length()-pat.length()));for(i=0;(j=ori.indexOf(pat,i))!=-1;i=j+pat.length()){sb.append(ori.substring(i,j)).append(rep);}sb.append(ori.substring(i));}else{returnori;}}else{return"";}returnsb.toString();}}------------------------------------------------------------------------------------------因为占用资源而导致HighJVM损耗,3XMTHREADINFO"WebContainer:127"(TID:0x8073D208,sys_thread_t:0x45D44228,state:CW,nativeID:0x80AE)prio=54XESTACKTRACEatcom.chl.dps.util.GlossaryUtil.load(GlossaryUtil.java(CompiledCode))4XESTACKTRACEatcom.chl.dps.util.GlossaryUtil.get(GlossaryUtil.java(CompiledCode))4XESTACKTRACEatcom.chl.dps.util.GlossaryUtil.get(GlossaryUtil.java(CompiledCode))4XESTACKTRACEatcom.chl.dps.util.GlossaryUtil.get(GlossaryUtil.java(CompiledCode))4XESTACKTRACEatcom.chl.dps.util.GlossaryUtil.get(GlossaryUtil.java(CompiledCode))4XESTACKTRACEatcom.chl.dps.util.HtmlUtil.printPackageHighlightAltText(HtmlUtil.java(CompiledCode))4XESTACKTRACEatcom.chl.dps.util.HtmlUtil.printPkgList_HightLightIcons(HtmlUtil.java(CompiledCode))4XESTACKTRACEatcom.ibm._jsp._v4_5F_promotion_5F_list_5F_landing_5F_page._jspService(_v4_5F_promotion_5F_list_5F_landing_5F_page.java(CompiledCode))------------------------------------------------------------------------------------------各位有什么好建议修改这个类?

解决方案

解决方案二:
不了解运行环境和业务无法动手

时间: 2024-12-08 08:22:58

线程高手请进来,死锁导致high JVM问题的相关文章

高手请进来关于spread

问题描述 问题是这样的在spread中,当执行保存操作时,先判断是执行了删除,修改,还是增加操作但是怎样判断呢,我想不出来请高手赐教 解决方案 解决方案二:boolisAdd,isEdit;--增加/保存按鈕if(isEdit==false)--增加isAdd=isEdit=true;-增加新記錄else--保存if(isAdd)-增加...保存記錄else-編輯...保存記錄endisAdd=isEdit=false;endif--編輯/取消按鈕if(isEdit==false)-編輯-編輯損

网络编程高手请进来,Socket发送图片错误~~~

问题描述 发送端主要代码:#region用Socket发送图片privatevoidtime(objecto){IPAddresssIP=IPAddress.Parse("127.0.0.1");IPEndPointssIP=newIPEndPoint(sIP,8001);Sockets=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);try{s.Connect(sIP,8001);}ca

高手请进来帮忙出谋划策(开发一个项目)

问题描述 现在领导让我做个系统,但作为新人的我确实有些压力和zhuo急,所以希望大家能给与帮助,本人的水平:会SSH,但没真正做过项目.困难之处:1,不能把需求上的东西转换成代码.2,对表的设计很陌生,不知道怎么设计表和把表关联起来:(基本信息表会设计,毕竟这个太普遍了)3,这项目没有太多的要求符合现实生活就好.领导说发挥想象力希望大家能指点指点我怎么能把这个小系统做好,小生不胜感激.内联网1:人员管理基本信息入职离职休假加班2:社保公积金管理基数每月缴纳情况3:公司活动,福利旅游聚餐书籍管理4

多线程-高手请进!!!---线程安全问题,怎么解决new String 问题

问题描述 高手请进!!!---线程安全问题,怎么解决new String 问题 场景是:一个订单号只能一个在付款,只能一个线程处理,不同的订单号支持并发处理 现在如果是new String("20140719140818");就有问题怎么解决 如果不是new出来的,什么情况会出现问题 public class Test { public static void main(String[] args) { new Thread(){ public void run(){ pay(&quo

Oracle数据库连接问题,高手请进。

问题描述 先贴代码.Command=Connection.CreateCommand();Command.CommandText=string.Format("select{0}.nextvalfromdual",country.SequenceName);intid=int.Parse(Command.ExecuteScalar().ToString());if(cellarray.ContainsKey("ID"))cellarray["ID"

php curl采集高手请进

问题描述 php curl采集高手请进 http://www.lecai.com/ 这个网站怎么用php/url技术进行模拟登录?求参考程序..... 解决方案 我大致看了一下,个人习惯使用Snoopy.class.php模拟登陆,觉得不好可以忽略 POST http://www.lecai.com/user/ajax_login.php HTTP/1.1Host: www.lecai.comUser-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:3

哪位高手请给一份juniper 的基本命令

问题描述 哪位高手请给一份juniper 的基本命令 哪位高手请给一份juniper 的基本命令需要最基本的,本人对juniper 基本是不懂的,只是试着自己配置一下juniper X100 的型号 解决方案 这个你需要百度,还是有很多答案的 http://hi.baidu.com/bluebat/item/d9c5ecd468828017d80e445f

Java线程:并发协作-死锁

发生死锁的原因一般是两个对象的锁相互等待造成的. 在<Java线程:线程的同步与锁>一文中,简述死锁的概念与简单例子,但是所给的例子是不完整的,这里给出一个完整的例子. /** * Java线程:并发协作-死锁 * * @author Administrator */ public class Test { public static void main(String[] args) { DeadlockRisk dead = new DeadlockRisk(); MyThread t1 =

vb.net-VB.NET高手请指导!小弟跪求

问题描述 VB.NET高手请指导!小弟跪求 下面是VB语句,能用:现在想用VB.NET写,不知道怎么写--请指导! Public maiIE As Object Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim baiWinFolder As New ShellWindows For Each baiIE In baiW