Java基础知识总结梳理(五)

Java基础知识总结梳理(五)

异常处理

异常处理部分内容相对简单,主要是异常体系结构图比较重要!

异常体系结构图

常见的异常–直接上图
常见异常结构图

异常注意事项

  • 对于编译异常,程序中必须处理
  • 对于运行时异常,程序中如果没有处理,默认就是throws的处理方式
  • 子类重写的方法所抛出的异常类型要么是和父类抛出的异常一致,要么为父类抛出异常的类型的子类型

异常处理方式

  • try-catch-finally :程序员子在代码中捕获发生的异常,自行处理
  • throws:将发生的异常抛出,交给调用者(方法)来处理,最顶级的处理者就是JVM

throw和throws的区别

  • throws:
    • 异常处理的一种方式
    • 位置:方法声明处
    • 后面跟的东西:异常类型
  • throw:
    • 手动生成异常对象的关键字
    • 位置:方法体中
    • 后面跟的东西:异常对象

注解

  1. Override注解
    限定某个方法,是重写父类方法,该注解只能用于方法
  2. Deprecated注解
    用于表示某个程序元素(类、方法等)已过时
  3. SuppressWarnings注解
    抑制编译器警告
  4. 四种元注解:修饰注解的注解
  • Retention:指定注解的作用范围,三种SOURCE、CLASS、RUNTIME
  • Target:指定注解可以在哪些地方使用
  • Documented:指定该注解是否会在javadoc体现
  • Inherited:子类会继承父类注解

多线程

Java基础知识梳理部分的多线程只涉及一些多线程的基础知识,后面会有多线程进阶,先看整理的多线程的基础知识框架图
多线程基础知识梳理

线程介绍

  • 进程和线程
    • 进程是执行中的一段程序,而一个进程中执行的每个任务即为一个线程
    • 一个线程可以属于一个进程,但一个进程能包含多个线程
    • 线程无地址空间,它包括在进程的地址空间里
    • 线程的开销或代价比进程的小
  • 并行和并发
    • 并发:同一时刻,多个任务交替执行,单核CPU实现多任务就是并发
    • 并行:同一时刻,多个任务同时执行,多个CPU可以实现并行

线程使用

  • 创建线程的两种方式
    • 继承Thread类,重写run方法
    • 实现Runnable接口,重写run方法

线程方法

  • 常用方法
    • setName
    • getName
    • start
    • run
    • setPriority
    • getPriority
    • sleep
    • interrupt
    • yield
    • join
  • 用户线程和守护线程
    • 用户线程:也叫工作线程,当线程的任务执行完或者通知方式结束
    • 守护线程:一般是为工作线程服务的,当所有的用户线程结束,守护线程自动结束;常见的守护线程:垃圾回收机制

线程的生命周期

  • NEW
  • RUNNABLE
    • READY
    • Running
  • BLOCKED
  • WAITING
  • TIMED_WAITING
  • TERMINATED

Synchronized

  • 同步代码块
  • 同步方法

互斥锁

  • 同步方法如果没有使用static修饰:默认锁对象为this
  • 如果方法使用static修饰,默认锁对象:当前类.class
  • 需要先分析上锁的代码;选择同步代码块或同步方法;要求多个线程的锁对象为同一个即可!

死锁

  • 互斥条件:
    一个资源同一时间同只能被一个线程占用
  • 不可剥夺条件
    一个资源被占用之后,如果不是拥有资源的线程释放,那么其他线程得不到此资源
  • 请求并持有条件
    当一个线程拥有某个资源之后,还不满足,又在请求其他资源
  • 环路等待条件
    多个线程在请求资源的情况下,形成了环路链

参考内容:
【1】https://www.bilibili.com/video/BV1fh411y7R8?spm_id_from=333.337.search-card.all.click&vd_source=dd9bdf6f42e38406b07ef92b986e8171

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值