面试学习(5)

本文详细解读了Java的异常体系,包括Error和Exception的区别,以及运行时异常和非运行时异常。同时介绍了Java创建线程的不同方式:继承Thread类、实现Runnable接口、Callable接口和线程池。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习目标:

  • Java面试题
  • MySQL面试题
  • Redis面试题

学习内容:

2024-01-26:

  • Java的异常体系
  • Java有哪几种方式创建线程来执行任务

具体内容:

Java的异常体系

概念

Java的所有异常都来自父类Throwable

Throwable有两个子类,Error和Exception

Error表示严重错误,比如Java.lang.OutOfMemoryError(内存溢出)等,通常这类异常程序无法自行解决,可能是服务器硬件层面、操作系统层面的问题,所以一般也不建议捕获此类异常,意义不大,程序可能已经无法运行,挂了。

Exception表示异常,该类异常表示可以通过程序内部自行解决,比如NullPointerException等。可以通过捕获该类异常进行处理

Exception的子类通常又分为RuntimeException和非RuntimeException

RuntimeException就表示运行期异常,属于代码执行过程中抛出的,该类异常通常是程序执行逻辑异常,可以进行捕获避免,比如空指针、数组越界等。

非RuntimeException表示非运行期异常,也就是所谓的检查异常,是必须要处理的异常,不处理则程序不能检查一场通过,如IOException、SQLException和用户自定义异常


Java有哪几种方式创建线程来执行任务

1、继承Thread类

2、实现Runnable接口(没有继承限制,不会影响类结构)

注:上面两种无法获取线程当中的返回值

3、实现Callable接口

注:上面三种都是通过new Thread对象

4、使用线程池方式创建

总结:几种方式底层均是基于实现Runnable接口。普遍答案3(不加第4点)-4种(加第4点)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值