java核心类库(下) 总结
1.异常
Error 严重问题,一般不处理
Exception 进行处理
以上异常 必须处理 否则 代码运行出错
异常的处理
一般选用手动处理异常
使用 try catch()方法对异常进行处理
Throws 将异常抛出
将异常抛给JVM虚拟机
面试题
编译器异常和运行期异常的区别
编译异常是必须要处理的,否则编译不通过
运行期异常 可以不处理 也可以处理 建议处理
throw和throws的区别
finally关键字
final关键字 修饰常量 修饰方法和类 是一种最终修饰符 被修饰的方法和类不可别继承
finally 是try catch()方法里的一块代码空间 用于释放资源 是一定会被执行的
finalize 是object里的一个方法 用于垃圾回收 呼叫垃圾回收器
try catch() 中的return和finnaly,fanally执行完后,return会将是一些值 包括参数类型 方法调用的地址 方法返回数据进行打包返回 。
异常处理的变形
自定义异常
异常的注意事项
2.File
构造方法
绝对路径和相对路径
常用方法
递归
方法调用自己本身 称为递归调用
递归举例
递归的效率并不高 所以使用场景有限
3.IO流
IO流的分类
字节流分为字节输出流和字节输入流
字节流
字节输出流
字节输出流代码演示
字节输出流流程分析
字节输入流
代码演示
使用场景 文件复制
流程展示
复制代码演示
字符流
字符流:以“字符”的方式来操作文件
字符输出流 父类Write中定义五种输出的方法
字符输出流 子类 FileWrite的使用
字符输入流 Reader
代码演示
缓冲流
执行流程
代码演示
应用场景
字符缓冲流
转换流
编码引出的问题
转换输出流的使用
OutputStreamWriter转换输出流代码演示
序列化
执行原理
打印流
代码演示
4.多线程
线程概念
创建方式
创建方式一
继承Thread类
自定义类,继承Thread类,并且重写run()方法
注意事项
创建方式二
实现Runnable接口
自定义类,实现Runnable接口
Thread和Runnable的关系是什么?
Thread实现Runnable接口,关系对应的是实现关系
为什么将Runnable传到Thread构造中就可以执行Runnable重写的run方法?
在Thread之间中,会声明一个Runnable的类型叫 target,执行线程启动的start()方法,则会执行run()方法,
创建Thread对象后,会声明一个Runnable类型 target 在执行线程中的start方法时,会调用run方法,指向重写runnable中的run方法
匿名内部类的方式实现线程
Thread类的常用方法
线程池
概念、作用
代码演示
死锁
出现在代码块儿的同步嵌套中,例如线程A的代码块儿 run()方法中,使用了lock1 锁一,同时又嵌套了锁二 lock2 ,两个线程都在同时等待对方释放锁,然后继续执行当前代码块儿至方法结束,所以发生死锁。
代码演示
线程状态
等待唤醒
代码演示
5.网络编程
网络通信协议
网络编程的三要素
UDP通信程序
TCP通信
通过Socket的编程顺序
代码演示
6.反射
概念
也叫反向加载,跟“创建对象”有关,通过获取字节码,得到字节码对象