大家好,很高兴我们可以继续学习交流Java高频面试题。本小节是Java基础篇章的第三小节,主要讲述Java中的Exception与Error,JIT编译器以及值传递与引用传递的知识点。熟练掌握本小节的知识点,可以帮助大家更好的复习与掌握Java面试中的基础类题目,对我们的实际开发也会有很大的帮助。
(1)Java中的Exception和Error有什么区别?
答: Exception和Error的主要区别可以概括如下。
- Exception是程序正常运行中预料到可能会出现的错误,并且应该被捕获并进行相应的处理,是一种异常现象
- Error是正常情况下不可能发生的错误,Error会导致JVM处于一种不可恢复的状态,不需要捕获处理,比如说OutOfMemoryError
解析:
Exception又分为了运行时异常和编译时异常。
编译时异常(受检异常)表示当前调用的方法体内部抛出了一个异常,所以编译器检测到这段代码在运行时可能会出异常,所以要求我们必须对异常进行相应的处理,可以捕获异常或者抛给上层调用方。
运行时异常(非受检异常)表示在运行时出现