游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

Java中常见的20个错误及解决方案

  1。类定义未找到错误java。lang。NoClassDefFoundError。
  原因分析
  由于该程序调用到的JAVA类文件没有正确上传。
  JAVA类文件已经上传,但应用服务器并未检测到,建议将JSP页面重新更新。
  解决方案
  将JAVA类文件重新上传。
  将JSP页面更新并上传;或将应用程序服务器进行重新启动。2。解决java。lang。StackOverflowError错误。
  错误信息
  严重:Exceptioninitializingpagecontext
  java。lang。StackOverflowError。。。。。。。。。。。。。。。。。。。。。。。。
  原因分析
  运行一个程序,JVM会开辟一块内存空间去储存程序进行时的某些信息,当程序运行时需
  要储存的信息超过了分配的空间,就会出现那样的问题。比如死循环,递归次数过多,等等。
  解决方案
  首先从程序代码优化方面着手,检查是否有死循环、递归等程序,如果有,修正、优化
  相关代码。3。代码错误分析。
  错误信息interfacePlayable{voidplay();}interfaceBounceable{voidplay();}interfaceRollableextendsPlayable,Bounceable{BallballnewBall(PingPang);}classBallimplementsRollable{privateStringname;publicStringgetName(){returnname;}publicBall(Stringname){this。namename;}publicvoidplay(){ballnewBall(Football);System。out。println(ball。getName());}}
  解决方案
  interfaceRollableextendsPlayable,Bounceable没有问题。interface可继承多个interfaces,所以这里没错。问题出在interfaceRollable里的BallballnewBall(PingPang);。任何在interface里声明的interfacevariable(接口变量,也可称成员变量),默认为publicstaticfinal。即BallballnewBall(PingPang);实际上是publicstaticfinalBallballnewBall(PingPang);。在Ball类的Play()方法中,ballnewBall(Football);改变了ball的reference,而这里的ball来自Rollableinterface,Rollableinterface里的ball是publicstaticfinal的,final的object是不能被改变reference的。因此编译器将在ballnewBall(Football);
  这里显示有错。4。解决MyEclipse开发SSH整合时java。lang。NoSuchMethodError方案
  环境显示MyEclipse5。5Struts1。2Spring2。0Hibernate3。1Tomcat
  错误提示
  原因分析
  Spring和Hibernate共用的一些jar文件发生了版本冲突。
  解决方案
  从出错的字面看,肯定与org。objectweb。asm包有关,检查lib下面关于asm的包,发现包含下面的包:asm2。2。3。jarasm。jarasmattrs。jarasmcommons2。2。3。jarasmutil2。2。3。jar
  可以从包名猜,asm2。2。3。jar和asm。jar可能是不同版本的,你可以查看包里的类是否差不多。这时,你可以尝试删除其中一个,重启Tomcat,经过尝试,发现把asm2。2。3。jar包删除后,重启后没出现错误提示。5。Java错误java。lang。Error。
  原因分析
  对系统所访问外部资源,未执行关闭操作,导致外部资源大量浪费,最终可能导致系统无法正常运行;
  对系统所访问的外部资源关闭次数太多,外部系统无法正常处理;
  系统访问的外部资源出现异常情况。
  解决方案
  访问外部资源前,首先检查该资源(如数据库)是否可正常连接或操作。
  访问外部资源时,如果进行了连接,一定进行关闭操作,并仅进行一次关闭操作。
  尽量在同一操作中共享外部资源,以减少该操作对资源的消费,提高程序的执行效率。6。Java调用DLL错误:Exceptioninthreadmainjava。lang。UnsatisfiedLinkError解决。
  原因分析
  Exceptioninthreadmainjava。lang。UnsatisfiedLinkError,编译没有问题,运行出现问题,如果错误Exceptioninthreadmainjava。lang。UnsatisfiedLinkError后面是某一个类名的话,很可能是java程序调用了有关dll文件而没有找到这样的dll文件造成的。
  解决方案
  把需要的dll文件放到和该java类相同的目录下即可。7。java。lang。OutOfMemoryError异常处理总结。
  原因分析
  内存中加载的数据量过于庞大,如一次从数据库取出过多数据。
  集合类中有对对象的引用,使用完后未清空,使得JVM不能回收。
  代码中存在死循环或循环产生过多重复的对象实体。
  使用的第三方软件中的BUG。
  启动参数内存值设定的过小。8。java。lang。NoSuchMethodError异常处理。
  原因分析
  Java程序运行过程中,需要调用某个类的某个方法,但却发现这个方法并不存在,找不到所以会提示这个错误。
  解决方案
  检查调用的方法名称是否正确,要检查拼写和大小写。
  检查调用的类里是否已经有该方法。
  检查调用的方法的作用域。
  若是调用别人的包里的方法,首先要确认包是可以找到的(如开发工具中导入包、web应用中有该包等),再按上面1、2、3点检查。
  某些时候,特别是SSH整合开发,有可能会出现这个异常,一般是包的版本冲突问题,这时候可以尝试更换一下版本。9。类路径没有找到。
  原因分析
  可能:ClassNotFoundException:oracle。jdbc。driver。OracleDriver,一般是指包名写错,或者没有import包,或者没有在类路径中找到jar文件。
  解决方案
  没有加载Oracle驱动jar,在。bashprofile中把ojdbc14。jar加进来即可。10。找出以下程序代码中的错误。classSomething{finalinti;publicvoiddoSomething(){System。out。println(ii);}}
  解决方案
  finalinti是个final的instantvariable(实例变量,或叫成员变量)。final的instantvariable没有defaultvalue,必须在constructor(构造器)结束之前被赋予一个明确的值。可以修改为finalinti0;或将final去掉也可以,inti属於instantvariable(实例变量,或叫成员变量)。instantvariable有默认值,也就是初始化值会为0。11。如果JSP页面跳转时出现下边的错误信息:
  Therequestsentbytheclientwassyntacticallyincorrect(InvalidpathwebshoppingCartwasrequested)。
  原因分析
  strutsconfig中的actionx写成了actionx。do。
  解决方案
  将strutsconfig中的actionx。do改成actionx即可。12。常见错误提示tomcat:java。lang。OutOfMemoryError:PermGenspacetomcat:java。lang。OutOfMemoryError:Javaheapspaceweblogic:RootcauseofServletExceptionjava。lang。OutOfMemoryErrorresin:java。lang。OutOfMemoryErrorjava:java。lang。OutOfMemoryError
  原因分析
  应用服务器提示错误。
  Java代码导致错误。
  解决方案
  把启动参数内存值设置足够大。
  重点排查以下几点:
  1)检查代码中是否有死循环或递归调用。
  2)检查是否有大循环重复产生新对象实体。
  3)检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。
  4)检查List、MAP等集合对象是否有使用完后,未清除的问题。List、MAP等集合对象会始终存有对对象的引用,使得这些对象不能被GC回收。13。错误代码分析publicclassSomething{publicintaddOne(finalintx){returnx;}}
  原因分析
  intx被修饰成final,致使x不能在addOnemethod中被修改。14。java运行时出现错误。
  Exceptioninthreadmainjava。lang。NoClassDefFoundError:MyJavaHello(wrongname:Hello)
  atjava。lang。ClassLoader。defineClass1(NativeMethod)
  解决方案
  检查类名拼写是否正确。
  类名正确,确认jdk下的tools。jar有没有导进去。
  jdk下的tools。jar有没有导进去了,确认导入的jdk是不是有重复。15。在部署Struts时,出现如下错误信息:HTTPStatus404ServletactionisnotavailabletypeStatusreportmessageServletactionisnotavailabledescriptionTherequestedresource(Servletactionisnotavailable)isnotavailable。
  原因分析
  web。xml文件中未配置ActionServlet。
  strutsconfig。xml文件未配置你要访问的Action。
  你的jsp文件form标记中action属性的路径名称错误。
  非以上三种情况。
  解决方案
  在web。xml文件中加上ActionServlet的配置信息??????WEBINFstrutsconfig。xml?
  在strutsconfig。xml文件检查你要访问的Action配置文件。
  检查jsp文件form标记中action属性的路径名称是否与strutsconfig。xml文件中action标记的path属性的路径名称一致。
  非以上情况的解决办法就是检查web容器的log日志,如果时tomcat则检查下logs目录下的localhostlog文件,看里边是否记录有错误信息,然后根据错误信息提示将其纠正。16。代码错误分析publicclassPerttyTest{publicstaticvoidmain(String〔〕args){Stringi123,s;sgetStr(i);System。out。println(s);}publicStringgetStr(Strings){StringBuffersbnewStringBuffer();for(intis。length()1;i0;i){sb。append(s。charAt(i));}returnsb。toString();}}
  原因分析
  定义的getStr方法不是静态方法,需要实例一个对象才能调用。
  解决方案
  在main下加一行PerttyTestanewPerttyTest();
  sgetStr(i)改成sa。getStr(i);
  正确的代码如下所示。publicclassPerttyTest{publicstaticvoidmain(String〔〕args){PerttyTestanewPerttyTest();Stringi123,s;sa。getStr(i);System。out。println(s);}publicStringgetStr(Strings){StringBuffersbnewStringBuffer();for(intis。length()1;i0;i){sb。append(s。charAt(i));}returnsb。toString();}}17。couldnotinitializeacollection:〔hibernate。entity。Role。modules32768〕Syntaxerror:Encounteredatline1,column132。
  原因分析
  红色字部分中为非法字符。
  解决方案
  将非法字符替换为modulerole。18。错误代码分析publicclassSomething{voiddoSomething(){privateStrings;intls。length();}}
  解决方案
  局部变量前不能放置任何访问修饰符(private,public,和protected)。final可以用来修饰局部变量(final如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable)。19。数据插入异常,GenericJDBCException:couldnotinsert
  原因分析
  没有建立表或者表中没有任何数据。
  插入数据后没有执行提交语句:commit。20。字符串越界错误java。lang。StringIndexOutOfBoundsException等字符串类相关错误
  错误信息
  Stringsallpower1010011;
  Stringsaccesspowersallpower。substring(3,4);
  原因分析
  以上代码段功能的功能是获取字符串sallpower中的第4个字符。
  一般情况下,程序不会有问题,如果由于某种原因,sallpower长度变短,程序就会抛出字符串错误。
  解决方案
  对字符串进行截取(substring,charAt)、转换为字节数组(getBytes),字符数组转换为字符串(valueOf)操作时,先对操作字符串对象的存在性(是否为空)及长度进行检查后,再进行操作。
  改写后的正确代码如下。Stringsallpower1010011;if(sallpower。length4)Stringsaccesspowersallpower。substring(3,4);

体积较小却也是纯正电竞血统,美商海盗船K65RGBK65是海盗船外设外设元老级产品,80的键位配列给消费者更多的选择的同时售价稍低。其后K65几乎保持着与K70相同的更新频率,先后推出过几个版本,键帽字符,空格键还有键盘顶部l……神秘的博格DNA似乎同化了来自不同生物体的基因据悉,在美国加利福尼亚的一个后院里,发现了一些神秘的DNA链,它们似乎吸收了周围环境中许多不同生物的基因。科学家们将这些元素命名为博格(Borgs),他们的发现不仅可以帮……信息技术应用能力提升教师个人研修计划南宁市位子渌小学教师个人研修计划(2020。7~2021。6)姓名杨老师任教学科语文所属教研组高年级语文组学校信息化环境多……搭载Ampere架构,NVIDIA新一代RTXGPU驱动新一搭载Ampere架构,NVIDIA新一代RTXGPU为数百万艺术家、设计师、工程师和虚拟桌面用户驱动新一代工作站和个人电脑NVIDIA于GTC大会上发布用于新一代笔记本电……尚气成今年北美第一部票房过2亿的电影,但其依然亏丟裤衩北京时间10月2日,美国当地时间10月1日,迪士尼出品的科幻电影《尚气与十戒传奇》(以下简称《尚气》),其北美票房正式破2亿,达到200,071,802美元,成为今年乃至疫情发……三款适合年轻消费者购买的爆款车型,每一款都是经典今天有位精神小伙私信我,让我给他推荐一款适合年轻人的高性价比小车,我盘算了一下,这几款小车都是不错的选择,话不多说,一起来看看吧!本田飞度推荐的第一款车就是有着平民……新房装修,到底要不要装榻榻米?看完这些你就明白了榻榻米一直有收纳神器美名,也渐渐成为小户型次卧室装修的首选设计。但,榻榻米使用久了,它的问题也逐渐暴露出来,发现它并没有理想中的那么好,甚至有人不惜多花钱,也要把榻榻米拆……鸿星尔克火了之后有人抢鞋,有人抢域名【新网域名资讯】一场暴雨让鸿星尔克一夜成为顶流,并受到了全网热捧,成为国宠。最直观的反馈自然是被挤爆的直播间和卖断货的线下门店。截至目前,累计2000万人涌进鸿星尔克直播……达达变成小京东,却再也撑不起市值作者:叶蓁原创:深眸财经(chutou0325)双11到了,快递成了重中之重。10月21日达达官方发布一则消息,10月20日晚8点京东双11正式启动,家住北京……每日一午餐康师傅爱鲜大餐加肉夹馍康师傅方便面新品,包装算康师傅里最好的了。打开这肉是惊到我了,据说康师傅一年销量就一斤牛肉,哈哈,但这个三片肉是实打实的。还有三个汤包菜包,粉包。这面给我不一样的感觉,和……乐享生活佳尼特大白Pro反渗透净水机体验【前言】我由于在实验室工作,接触净水设备应该算是比较早的,当时中国家庭里面安装净水机的几乎没有,净水设备主要是针对实验室和商用用户,而且几乎都是国外品牌。近年来,随着生活……迅驰小兽,划算优选品胜20W快速充电头自iPhone8开始,iPhone系列手机就开始支持PD快充协议,不过由于大部分设备官方仍然是适配的五福一安充电套装且使用快充需要花巨资购买快充充电套装,所以苹果手机上的快充一……
飞力达2021上半年净利达1。32亿,盈利能力呈阶梯式跨越8月23日,飞力达(300240。SZ)发布2021年半年度业绩报告,报告显示,公司2021年上半年实现营业收入约29。41亿元,同比增加84。76;归属于上市公司股东的净利润……一定要注意了,处暑气养生5个小知识立秋过后,紧接着今年的处暑马上就到了。处暑到来意味着炎热的天气到了尾声,天气逐渐开始降温。当然因为受秋老虎的影响,一般来说处暑仍会持续高温。我们在这个时候应该怎么养生保健才能使……预算有限但想拥有样样能打的真无线降噪耳机?声阔超能小彩蛋体验不知不觉,暑假已经过去了一半。在暑期假期中,除了偶尔出差、旅游,子弹兄做的最多的事,就是在房间里听歌和看电影。由于越来越多的手机都取消了耳机孔,相信很多同学们和子弹兄一样,这个……某安大神力作,一款可以开通你手机隐藏功能的软件最近在酷安发现一个神级的APP。号称能开启被各大厂商隐藏的几百个设置选项,开始我还是不相信的。于是自己的手机安装了下,没想到确实多了一些功能出来。安装后模块非……腾空出世的GTX16504G显卡游戏表现如何在很早以前就有猜测应该会有一张RTX2050显卡的,直到现在也没有消息估计是不准备推出了,反而最近上架了一款GTX16504G显卡售价1199元起步,这显卡性能超越GTX105……2020年中国移动互联网内容生态洞察报告核心摘要:随着智能终端的发展和人们精神消费品质的不断升级,用户需求驱动着内容消费形式的不断革新,深刻地改变着移动互联网下的内容生产、分发、传播、消费全过程,不断拓宽原有应……燕氏观点山西高校之山西交通职业技术学院文华校区山西交通职业技术学院位于晋中榆次区高校新区文华校区,隶属于山西省交通厅管理,其前身为山西省交通学校,建校于1958年,2000年批准为国家级重点中专学校,2001年经省政府批准……破局新制造北森智造人力解决方案发布随着十四五带来产业升级变革,新一代信息技术与制造业开始深度融合。对于制造行业来说,这是最好的时代,也是最坏的时代。一方面,科技制造、多元创新、人才升级、高效节能等升级变革……买回来的黑胶唱片,应该怎样保养呢?阜新声艺视听平时黑胶唱片应收藏于干燥地点,并且直立放置,避免拿物品重压,及在高温地方,以免唱片变形。子啊使用黑胶前,用唱片刷将唱片表面的灰尘刷下来,以避免聆听时灰尘卡在唱针上,这样比较不会……腾讯游戏被批精神鸦片,市值暴跌3800亿,该怪谁?新华社旗下《经济参考报》批精神鸦片长成数千亿产业,游戏股集体重挫,游戏行业监管将至?本文由无冕财经(wumiancaijing)原创发布作者:施燕芬编辑:陈涧……闲鱼上卖二手物品被商家告侵权?双十一临近,这些事你得注意了一波双十一高峰已经过去了还有不到2天的时间就要开启最后一波剁手高峰了虽然今年的双十一优惠规则又又又被吐槽了但还是抵挡不住大家买买买的热情啊!除了买……健身环价格炒到3倍体感游戏短暂爆发还是春天来了?健身环破圈背后,是游戏逐渐融入健身需求,这是否意味着体感游戏将迎来一波爆发?(原标题:健身环价格炒到3倍,体感游戏短暂爆发还是春天来了?)《健身环大冒险》是真买不起……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网