Java基础5

unit1 异常

1.概念:本身是一个类,产生异常就是创建异常对象并且抛出此对象,处理异常采用中断处理

2.分类:java.lang.Throwable  Exception子类:RuntimeException

Alt + Enter : 解决异常

编译异常:直接修改

运行异常:无需处理

错误:改逻辑。。。

A:throws Exception,给虚拟机处理

B:try {可能出现异常的代码 } catch() { 异常处理逻辑 },处理异常

3.产生过程解析:

A:JVM创建一个异常对象,方法中没有异常处理的逻辑

B:然后抛出此对象,传给main方法处理,main又抛给了JVM处理

C:JVM接受后,将异常的情况,以红色字体打印在控制台;JVM终止当前正在执行的内容(中断处理)

4.throw:

补充:Objects非空判断:

throws:声明异常

5.try-catch:捕获异常

6.throwable:

7.finally:不论是否发生异常,都需要执行

8.其他:

finally里面有return:一般不把里面添加return

子类父类异常:父类什么样子,子类就是什么样

9.自定义异常:

unit2 并发与并行

1.进程 线程

2.并发 并行

3.主线程 多线程

主线程:执行主方法的线程,执行main方法的

单线程:从main方法开始

4.Thread类:

多线程原理:随机性打印结果:

  压栈执行:main--run     堆内存存储:对象

5.sleep方法:程序暂停执行

try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}

6.匿名内部类实现线程创建:子类(实现类对象),没有名字,new FU() { 重写方法 }

7.线程安全问题:多线程访问共享的数据,会产生安全问题

线程安全解决1:同步代码块----同步技术原理:同步中的线程没有执行完毕不会释放线程,同步外的线程没有锁进不去线程

线程安全解决2:同步方法--静态同步方法也是可以保证安全的

线程安全解决3:Lock锁

8.线程状态:6种

9.等待唤醒机制:

计时等待:

 锁阻塞:

 无限等待:等待唤醒案例=线程之间的通信

10.线程池

11.Lambda表达式

unit3 流

1.File类

2.IO概述

3.字节输出流

4.字节输入流

5.缓冲流

6.转换流

7.打印流

unit4 网络协议

1.协议

2.IP地址

3.端口号

4.TCP通信

5.BS服务器

6.

原文地址:https://www.cnblogs.com/only666/p/13284011.html