千锋教育2023版Java面试宝典Java面试200题(含美团、字节、阿里大厂真

1> Error和Exception的区别?
Exception是程序正常运行过程中,可以预料的意外情况,可以被捕获和处理
Error是指正常情况下不大可能出现的情况,绝大多数的Error都会导致程序无法正常运行、不可恢复。既然是非正常情况,不便于也不需要捕获
Error包含虚拟机错误(VirtualMachineError)、内存溢出(OutOfMemoryError)、线程死锁(ThreadDeath),这些都是比较严重的错误
Exception含有RuntimeException、IO异常、SQL异常,常见的RuntimeException包含空指针异常(NullPointerException)、数组下标越界异常(ArrayIndexOutOfBoundsException)、算数异常(ArithmeticExcpetion)、类型转换异常(ClassCastException)
2> java序列化的理解
java序列化是把java对象转换成二进制内容,实际是一个byte[]数组,反序列化就是反过来实现
实现序列化,需要让要序列化的java对象实现serializable接口,这是一个空接口,实现此接口是为了将Java对象打上标签,告诉JVM它要序列化