日常BUG集

● Array Index Out Of Bounds Exception:

Array Index Out Of Bounds Exception
数组下标越界
出现的问题:数组长度为5,访问了下标5
解决方案:根本没有下标5,最大下标为4
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 3

● Arithmetic Exception:

Arithmetic Exception
算数异常
出现的问题:被除数为零
解决方案:判断被除数是否为零,为零则提示:被除数不能为零
Exception in thread “main” java.lang.ArithmeticException: / by zero

● Input Mismatch Exception:

Input Mismatch Exception
输入信息不匹配
Exception in thread “main” java.util.InputMismatchException

● Unreachable statement:

Unreachable statement
遥不可及的声明
出现问题:前面有死循环,永远不会执行此语句
解决问题:循环加上break;使其跳出循环

● Not Serializable Exception:

Not Serializable Exception
读写的对象类没有序列化
如果本类的对象想要被序列化输出,必须要声明可序列化接口 Serializable,否则报错
java.io.NotSerializableException: cn.tedu.serializable.Student

● Interrupted Exception:

Interrupted Exception
线程中断异常
在这里插入图片描述

● Non-static method ‘num(E[])’ cannot be referenced from a static context

Non-static method ‘num(E[])’ cannot be referenced from a static context
不能从静态上下文中引用非静态方法'num(E[])'
解决方法:将num()定义成静态方法
在这里插入图片描述

● Illegal Access Exception:

非法的访问异常 无法访问修饰符为“private”的类cn.tedu.reflection.Person的成员
出现的原因:暴力反射,没有私有可见权限
解决方法:f.setAccessible(true); —把获取到的私有属性f,设置可见的权限为true
在这里插入图片描述

● Null Pointer Exception

空指针异常
出现的原因:没有对new出来的对象,进行实例化,或者数据库里查询的是一个空对象
解决办法:在调用可能为空的变量时,进行非空判断
空指针异常

● OOM

内存溢出

  1. java.lang.OutOfMemoryError: Java heap space ------>java堆内存溢出,此种情况最常见,一般由于内存泄露或者堆的大小设置不当引起。对于内存泄露,需要通过内存监控软件查找程序中的泄露代码,而堆大小可以通过虚拟机参数-Xms,-Xmx等修改。
  2. java.lang.OutOfMemoryError: PermGen space ------>java永久代溢出,即方法区溢出了,一般出现于大量Class或者jsp页面,或者采用cglib等反射机制的情况,因为上述情况会产生大量的Class信息存储于方法区。此种情况可以通过更改方法区的大小来解决,使用类似-XX:PermSize=64m -XX:MaxPermSize=256m的形式修改。另外,过多的常量尤其是字符串也会导致方法区溢出。
  3. java.lang.StackOverflowError------> 不会抛OOM error,但也是比较常见的Java内存溢出。JAVA虚拟机栈溢出,一般是由于程序中存在死循环或者深度递归调用造成的,栈大小设置太小也会出现此种溢出。可以通过虚拟机参数-Xss来设置栈的大小。

● Concurrent Modification Exception

并发异常
出现原因:在集合迭代的过程中,通过集合的方法去增删元素,对集合进行了修改
解决办法:使用迭代器提供的remove是删除迭代器当前位置的元素
并发异常

● Request processing failed

请求处理失败
出现问题:访问的资源不存在,要访问的资源与服务端定义的路径是否一致
在这里插入图片描述问题实例:
在这里插入图片描述在这里插入图片描述

● Please set the JAVA_HOME variable in your environment

JAVA_HOME环境变量定义错误
说明,这里一定要注意JAVA_HOME单词的拼写,JAVA_HOME中定义的JDK是存在的,还有后面的路径不能有分号“;”.
在这里插入图片描述

● max key length is 767 bytes

MySQL版本比较低
当执行nacos-mysql.sql文件时,出现如下错误
在这里插入图片描述

● No DataSource set

Nacos的application.properties配置文件中,连接数据库的配置错误.
在这里插入图片描述

● required a bean of type

依赖注入异常
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:书香水墨 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

java小鲤鱼

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值