Java面试题大全 (下) --2021版

本文详细介绍了Java异常面试题,包括Error和Exception的区别、运行时异常与受检异常、JVM处理异常的方式、throw与throws的区别以及final、finally、finalize的差异等。接着,文章深入讨论了并发编程面试题,涵盖并发编程优缺点、线程与进程区别、线程池的概念和创建,以及Executor框架和线程池的使用细节。文章还讨论了线程池的创建方式,如newFixedThreadPool、newScheduledThreadPool等,并分析了它们的适用场景和潜在风险。此外,文章还涉及线程池的核心参数、线程组的不推荐使用以及并发工具类如CountDownLatch、CyclicBarrier、Semaphore和Exchanger的作用。最后,文章探讨了线程池的创建与实现原理,包括ThreadPoolExecutor构造函数的重要参数以及线程池的饱和策略。
摘要由CSDN通过智能技术生成

前言: 接着上篇博客《Java面试题大全 (上) --2021版》:Java面试题大全 (上) --2021版_Jack章臣的博客-CSDN博客  往下写,

三、Java异常面试题

1. Error 和 Exception 区别是什么?

Error 类型的错误通常为虚拟机相关错误,如系统崩溃,内存不足,堆栈溢出等,编译器不会对这类错误进行检测,JAVA 应用程序也不应对这类错误进行捕获,一旦这类错误发生,通常应用程序会被终止,仅靠应用程序本身无法恢复;

Exception 类的错误是可以在应用程序中进行捕获并处理的,通常遇到这种错误,应对其进行处理,使应用程序可以继续正常运行。
 

2. 运行时异常和一般异常(受检异常)区别是什么?

运行时异常包括 RuntimeException 类及其子类,表示 JVM 在运行期间可能出现的异常。 Java 编译器不会检查运行时异常。

受检异常是Exception 中除 RuntimeException 及其子类之外的异常。 Java 编译器会检查受检异常。

RuntimeException异常和受检异常之间的区别:是否强制要求调用者必须处理此异常,如果强制要求调用者必须进行处理,那么就使用受检异常,否则就选择非受检异常(RuntimeException)。一般来讲,如果没有特殊的要

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰克说

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值