Java基础-9(Map集合、Debug、异常、线程)

1. Map集合

1.1 Map集合和Collection集合的区别

在这里插入图片描述
Map集合的特点:
在这里插入图片描述

1.2 Map集合的常用子类

在这里插入图片描述

1.3 Map接口中的常用方法

put方法
在这里插入图片描述
remove方法
在这里插入图片描述
在这里插入图片描述
get方法
在这里插入图片描述
containsKey方法
在这里插入图片描述

1.4 Map集合遍历

(1)键找值方式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)使用Entry对象遍历
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

注意:在这里插入图片描述

HashMap:key不允许重复,无序集合
LinkedHashMap:
在这里插入图片描述

1.5 HashTable集合

在这里插入图片描述

1.6 JDK9的新特性

在这里插入图片描述

2. Debug

在这里插入图片描述

3. 异常

在这里插入图片描述
在这里插入图片描述

3.1 错误和异常的区别

在这里插入图片描述

3.2 异常产生的原理

在这里插入图片描述

3.3 throw关键字

在这里插入图片描述
Objects非空判断
requireNonNull方法
在这里插入图片描述
在这里插入图片描述

3.4 throws关键字(第一种处理异常的方法)

在这里插入图片描述

3.5 try_catch关键字(第二种处理异常的方法)

在这里插入图片描述

3.6 Throwable中3个异常处理的方法

在这里插入图片描述

3.7 出现多个异常时的处理方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一般使用一次捕获,多次处理方式

异常注意事项:
如果finally中有return语句,永远返回finally中的结果,要避免这种情况。
在这里插入图片描述

3.8 子父类异常注意事项

在这里插入图片描述
在这里插入图片描述

3.9 自定义异常类

在这里插入图片描述
在这里插入图片描述

异常注意事项总结
在这里插入图片描述

4. 并发和并行

在这里插入图片描述
在这里插入图片描述

5.进程和线程

5.1 进程

在这里插入图片描述

5.2 线程

在这里插入图片描述

线程调度:分时调度和抢占式调度
在这里插入图片描述
主线程:
在这里插入图片描述

5.3 多线程

(1) 创建多线程程序的第一种方式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

多线程内存图解
在这里插入图片描述

6.Thread类的常用方法

获取线程名称的方法:
在这里插入图片描述

设置线程名称的方法:
在这里插入图片描述

sleep方法
在这里插入图片描述

7.Runnable创建多线程

在这里插入图片描述

7.1 匿名内部类实现线程创建

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7.2 线程安全问题

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

7.3 线程同步

解决线程安全问题的方法----线程同步
1.同步代码块
在这里插入图片描述
在这里插入图片描述
同步原理
在这里插入图片描述
在这里插入图片描述

2.同步方法
在这里插入图片描述
在这里插入图片描述

同步静态方法
在这里插入图片描述
在这里插入图片描述
3.lock锁
在这里插入图片描述

在这里插入图片描述

7.4 线程状态

在这里插入图片描述
在这里插入图片描述

等待与唤醒案例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.5 等待唤醒机制

在这里插入图片描述
在这里插入图片描述

等待唤醒机制实例———包子

1.需求分析
在这里插入图片描述

2.代码实现
(1)包子铺类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)吃货类
在这里插入图片描述
在这里插入图片描述

(3)测试类
在这里插入图片描述

7.6 线程池

在这里插入图片描述
代码实现
在这里插入图片描述
1、3步骤中插入2
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值