文章目录
- ● Array Index Out Of Bounds Exception:
- ● Arithmetic Exception:
- ● Input Mismatch Exception:
- ● Unreachable statement:
- ● Not Serializable Exception:
- ● Interrupted Exception:
- ● Non-static method 'num(E[])' cannot be referenced from a static context
- ● Illegal Access Exception:
- ● Null Pointer Exception
- ● OOM
- ● Concurrent Modification Exception
- ● Request processing failed
- ● Please set the JAVA_HOME variable in your environment
- ● max key length is 767 bytes
- ● No DataSource set
- ● required a bean of type
● 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
内存溢出
java.lang.OutOfMemoryError: Java heap space
------>java堆内存溢出,此种情况最常见,一般由于内存泄露或者堆的大小设置不当引起。对于内存泄露,需要通过内存监控软件查找程序中的泄露代码,而堆大小可以通过虚拟机参数-Xms,-Xmx等修改。java.lang.OutOfMemoryError: PermGen space
------>java永久代溢出,即方法区溢出了,一般出现于大量Class或者jsp页面,或者采用cglib等反射机制的情况,因为上述情况会产生大量的Class信息存储于方法区。此种情况可以通过更改方法区的大小来解决,使用类似-XX:PermSize=64m -XX:MaxPermSize=256m的形式修改。另外,过多的常量尤其是字符串也会导致方法区溢出。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
依赖注入异常