王牌8 扫雷英雄榜――Java常见错误及解决方案

上传人:我*** 文档编号:133309916 上传时间:2020-05-26 格式:PDF 页数:11 大小:180.20KB
返回 下载 相关 举报
王牌8 扫雷英雄榜――Java常见错误及解决方案_第1页
第1页 / 共11页
王牌8 扫雷英雄榜――Java常见错误及解决方案_第2页
第2页 / 共11页
王牌8 扫雷英雄榜――Java常见错误及解决方案_第3页
第3页 / 共11页
王牌8 扫雷英雄榜――Java常见错误及解决方案_第4页
第4页 / 共11页
王牌8 扫雷英雄榜――Java常见错误及解决方案_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《王牌8 扫雷英雄榜――Java常见错误及解决方案》由会员分享,可在线阅读,更多相关《王牌8 扫雷英雄榜――Java常见错误及解决方案(11页珍藏版)》请在金锄头文库上搜索。

1、 扫雷英雄榜 Java常见错误及解决方案 王牌8 1 1 扫雷英雄榜 Java常见错误及解决方案 1 类定义未找到错误 java lang NoClassDefFoundError 原因分析 由于该程序调用到的 JAVA 类文件没有正确上传 JAVA 类文件已经上传 但应用服务器并未检测到 建议将 JSP 页面重新更新 解决方案 将 JAVA 类文件重新上传 将 JSP 页面更新并上传 或将应用程序服务器进行重新启动 2 解决 java lang StackOverflowError 错误 错误信息 严重 Exceptioninitializingpagecontext java lang S

2、tackOverflowError 原因分析 运行一个程序 JVM 会开辟一块内存空间去储存程序进行时的某些信息 当程序运行时需 要储存的信息超过了分配的空间 就会出现那样的问题 比如死循环 递归次数过多 等等 解决方案 首先从程序代码优化方面着手 检查是否有死循环 递归等程序 如果有 修正 优化 相关代码 3 代码错误分析 错误信息 interface Playable void play interface Bounceable void play Java从入门到精通 2 2 interface Rollable extends Playable Bounceable Ball ball

3、 new Ball PingPang class Ball implements Rollable private String name public String getName return name public Ball String name this name name public void play ball new Ball Football System out println ball getName 解决方案 interface Rollable extends Playable Bounceable 没有问题 interface 可继承多个 interfaces 所

4、以这里没错 问题出在 interface Rollable 里的 Ball ball new Ball PingPang 任何在 interface 里声明的 interface variable 接口变量 也可称成员变量 默认为 public static final 即 Ball ball new Ball PingPang 实 际 上 是 public static final Ball ball new Ball PingPang 在 Ball 类的 Play 方法中 ball new Ball Football 改变了 ball 的 reference 而这里的 ball 来自 Ro

5、llable interface Rollable interface 里的 ball 是 public static final 的 final 的 object 是不能被改变 reference 的 因此编译器将在 ball new Ball Football 这里显示有错 4 解决 MyEclipse 开发 SSH 整合时 java lang NoSuchMethodError 方案 环境显示 MyEclipse5 5 Struts1 2 Spring2 0 Hibernate3 1 Tomcat 扫雷英雄榜 Java常见错误及解决方案 王牌8 3 3 错误提示 406ERROR org

6、 hibernate proxy BasicLazyInitializer CGLIBEnhancementfaile d dao User java lang NoSuchMethodError org objectweb asm ClassVisitor visit IILjava lan g String Ljava lang String Ljava lang String Ljava lang String V atnet sf cglib core ClassEmitter begin class ClassEmitter java 77 原因分析 Spring 和 Hiberna

7、te 共用的一些 jar 文件发生了版本冲突 解决方案 从出错的字面看 肯定与 org objectweb asm 包有关 检查 lib 下面关于 asm 的包 发现包 含下面的包 asm 2 2 3 jar asm jar asm attrs jar asm commons 2 2 3 jar asm util 2 2 3 jar 可以从包名猜 asm 2 2 3 jar 和 asm jar 可能是不同版本的 你可以查看包里的类是否差 不多 这时 你可以尝试删除其中一个 重启 Tomcat 经过尝试 发现把 asm 2 2 3 jar 包删除后 重启后没出现错误提示 5 Java 错误 ja

8、va lang Error 原因分析 对系统所访问外部资源 未执行关闭操作 导致外部资源大量浪费 最终可能导致 系统无法正常运行 对系统所访问的外部资源关闭次数太多 外部系统无法正常处理 系统访问的外部资源出现异常情况 解决方案 访问外部资源前 首先检查该资源 如数据库 是否可正常连接或操作 访问外部资源时 如果进行了连接 一定进行关闭操作 并仅进行一次关闭操作 尽量在同一操作中共享外部资源 以减少该操作对资源的消费 提高程序的执行效 率 Java从入门到精通 4 4 6 Java 调用 DLL 错误 Exceptioninthread main java lang UnsatisfiedLi

9、nkError 解决 原因分析 Exceptioninthread main java lang UnsatisfiedLinkError 编译没有问题 运行出现问题 如果错误 Exceptioninthread main java lang UnsatisfiedLinkError 后面是某一个类名的话 很可 能是 java 程序调用了有关 dll 文件而没有找到这样的 dll 文件造成的 解决方案 把需要的 dll 文件放到和该 java 类相同的目录下即可 7 java lang OutOfMemoryError 异常处理总结 原因分析 内存中加载的数据量过于庞大 如一次从数据库取出过多

10、数据 集合类中有对对象的引用 使用完后未清空 使得 JVM 不能回收 代码中存在死循环或循环产生过多重复的对象实体 使用的第三方软件中的 BUG 启动参数内存值设定的过小 8 java lang NoSuchMethodError 异常处理 原因分析 Java 程序运行过程中 需要调用某个类的某个方法 但却发现这个方法并不存在 找不 到所以会提示这个错误 解决方案 检查调用的方法名称是否正确 要检查拼写和大小写 检查调用的类里是否已经有该方法 检查调用的方法的作用域 若是调用别人的包里的方法 首先要确认包是可以找到的 如开发工具中导入包 web 应用中有该包等 再按上面 1 2 3 点检查 某

11、些时候 特别是 SSH 整合开发 有可能会出现这个异常 一般是包的版本冲突问 题 这时候可以尝试更换一下版本 9 类路径没有找到 原因分析 扫雷英雄榜 Java常见错误及解决方案 王牌8 5 5 可能 ClassNotFoundException oracle jdbc driver OracleDriver 一般是指包名写错 或者 没有 import 包 或者没有在类路径中找到 jar 文件 解决方案 没有加载 Oracle 驱动 jar 在 bash profile 中把 ojdbc14 jar 加进来即可 10 找出以下程序代码中的错误 class Something final int

12、 i public void doSomething System out println i i 解决方案 final int i 是个 final 的 instant variable 实例变量 或叫成员变量 final 的 instant variable 没有 default value 必须在 constructor 构造器 结束之前被赋予一个明确的值 可以修改为 final int i 0 或将 final 去掉也可以 int i 属於 instant variable 实例变量 或叫成员变量 instant variable 有默认值 也就是初始化值会为 0 11 如果 JSP

13、页面跳转时出现下边的错误信息 The request sent by the client was syntactically incorrect Invalid path web shoppingCart was requested 原因分析 struts config 中的 action x 写成了 action x do 解决方案 将 struts config 中的 action x do 改成 action x 即可 12 常见错误提示 tomcat java lang OutOfMemoryError PermGenspace tomcat java lang OutOfMemor

14、yError Javaheapspace weblogic RootcauseofServletExceptionjava lang OutOfMemoryError resin java lang OutOfMemoryError java java lang OutOfMemoryError Java从入门到精通 6 6 原因分析 应用服务器提示错误 Java 代码导致错误 解决方案 把启动参数内存值设置足够大 重点排查以下几点 1 检查代码中是否有死循环或递归调用 2 检查是否有大循环重复产生新对象实体 3 检查对数据库查询中 是否有一次获得全部数据的查询 一般来说 如果一次取十 万条记

15、录到内存 就可能引起内存溢出 这个问题比较隐蔽 在上线前 数据库中数据较 少 不容易出问题 上线后 数据库中数据多了 一次查询就有可能引起内存溢出 因此 对于数据库查询尽量采用分页的方式查询 4 检查 List MAP 等集合对象是否有使用完后 未清除的问题 List MAP 等集合 对象会始终存有对对象的引用 使得这些对象不能被 GC 回收 13 错误代码分析 public class Something public int addOne final int x return x 原因分析 int x 被修饰成 final 致使 x 不能在 addOne method 中被修改 14 ja

16、va 运行时出现错误 Exceptioninthread main java lang NoClassDefFoundError MyJava Hello wrong name Hello atjava lang ClassLoader defineClass1 NativeMethod 解决方案 检查类名拼写是否正确 类名正确 确认 jdk 下的 tools jar 有没有导进去 jdk 下的 tools jar 有没有导进去了 确认导入的 jdk 是不是有重复 扫雷英雄榜 Java常见错误及解决方案 王牌8 7 7 15 在部署 Struts 时 出现如下错误信息 HTTP Status 404 Servlet action is not available type Status report message Servlet action is not available description The requested resource Servlet action is not available is not available 原因分析 web xml 文件中未配置 A

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号