欢迎来到天天文库
浏览记录
ID:32974717
大小:180.20 KB
页数:11页
时间:2019-02-18
《王牌8 扫雷英雄榜——Java常见错误及解决方案》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、扫雷英雄榜——Java常见错误及解决方案王牌8扫雷英雄榜——Java常见错误及解决方案1.类定义未找到错误java.lang.NoClassDefFoundError。8原因分析⑴由于该程序调用到的JAVA类文件没有正确上传。⑵JAVA类文件已经上传,但应用服务器并未检测到,建议将JSP页面重新更新。8解决方案⑴将JAVA类文件重新上传。⑵将JSP页面更新并上传;或将应用程序服务器进行重新启动。2.解决java.lang.StackOverflowError错误。8错误信息严重:Exceptioninitializi
2、ngpagecontextjava.lang.StackOverflowError........................8原因分析运行一个程序,JVM会开辟一块内存空间去储存程序进行时的某些信息,当程序运行时需要储存的信息超过了分配的空间,就会出现那样的问题.比如死循环,递归次数过多,等等。8解决方案首先从程序代码优化方面着手,检查是否有死循环、递归等程序,如果有,修正、优化相关代码。3.代码错误分析。8错误信息interfacePlayable{voidplay();}interfaceBounceabl
3、e{voidplay();1Java从入门到精通}interfaceRollableextendsPlayable,Bounceable{Ballball=newBall("PingPang");}classBallimplementsRollable{privateStringname;publicStringgetName(){returnname;}publicBall(Stringname){this.name=name;}publicvoidplay(){ball=newBall("Football");S
4、ystem.out.println(ball.getName());}}8解决方案"interfaceRollableextendsPlayable,Bounceable"没有问题。interface可继承多个interfaces,所以这里没错。问题出在interfaceRollable里的"Ballball=newBall("PingPang");"。任何在interface里声明的interfacevariable(接口变量,也可称成员变量),默认为publicstaticfinal。即"Ballball=new
5、Ball("PingPang");"实际上是"publicstaticfinalBallball=newBall("PingPang");"。在Ball类的Play()方法中,"ball=newBall("Football");"改变了ball的reference,而这里的ball来自Rollableinterface,Rollableinterface里的ball是publicstaticfinal的,final的object是不能被改变reference的。因此编译器将在"ball=newBall("Footba
6、ll");"这里显示有错。4.解决MyEclipse开发SSH整合时java.lang.NoSuchMethodError方案8环境显示MyEclipse5.5Struts1.2Spring2.0Hibernate3.1Tomcat2扫雷英雄榜——Java常见错误及解决方案王牌88错误提示406ERROR[org.hibernate.proxy.BasicLazyInitializer]-CGLIBEnhancementfailed:dao.Userjava.lang.NoSuchMethodError:org.ob
7、jectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Vatnet.sf.cglib.core.ClassEmitter.begin_class(ClassEmitter.java:77)8原因分析Spring和Hibernate共用的一些jar文件发生了版本冲突。8解决方案从出错的字面看,肯定与org.objectweb.asm包有关,检查lib下面关于as
8、m的包,发现包含下面的包:asm-2.2.3.jarasm.jarasm-attrs.jarasm-commons-2.2.3.jarasm-util-2.2.3.jar可以从包名猜,asm-2.2.3.jar和asm.jar可能是不同版本的,你可以查看包里的类是否差不多。这时,你可以尝试删除其中一个,重启Tomcat,经过尝试,发现把asm-
此文档下载收益归作者所有