目录
字符流的实现
flush和close方法
IO流体系编辑
缓冲流
序列化流/反序列化流的细节汇总
打印流
Hutool工具包
多线程
多线程三种实现方式对比
常见的成员方法
线程的使用
生产者和消费者
常见方法
等待唤醒机制
阻塞队列方式实现
线程的状态
线程池
主要核心原理
代码实现
反射
获取class对象的三种方式
利用反射获取构造方法
利用反射获取成员变量
动态代理
前言
本周学习内容较为难理解
字符流的实现
flush和close方法
flush刷新:刷新之后,还可以继续往文件中写出数据
close关流:断开通道,无法再往文件中写出数据
IO流体系![]()
缓冲流
缓冲流有几种?
● 字节缓冲输入流:BufferedInputStream
● 字节缓冲输出流:BufferedOutputStream
● 字符缓冲输入流:BufferedReader
● 字符缓冲输出流:BufferedWriter
缓冲流为什么能提高性能
● 缓冲流自带长度为8192的缓冲区
● 可以显著提高字节流的读写性能
● 对于字符流提升不明显,对于字符缓冲流而言关键点是两个特有的方法
字符缓冲流两个特有的方法是什么?
● 字符缓冲输入流BufferedReader: readLine()
● 字符缓冲输出流BufferedWriter: newLine()
序列化流/反序列化流的细节汇总
打印流
字符打印流
打印流有几种?各有什么特点?
● 有字节打印流和字符打印流两种
●打印流不操作数据源,只能操作目的地
● 字节打印流:默认自动刷新,特有的println自动换行
● 字符打印流:自动刷新需要开启,特有的println自动换行
Hutool工具包
多线程
什么是多线程?
有了多线程,我们就可以让程序同时做多件事情
多线程的作用?
提高效率
多线程的应用场景?
只要你想让多个事情同时运行就需要用到多线程
比如:软件中的耗时操作、所有的聊天软件、所有的服务器
并发:在同一时刻,有多个指令在单个CPU上交替执行
并行:在同一时刻,有多个指令在多个CPU上同时执行
多线程三种实现方式对比
常见的成员方法
线程的使用
生产者和消费者
常见方法
等待唤醒机制
阻塞队列方式实现
线程的状态
线程池
主要核心原理
代码实现
1,创建线程池
2,提交任务
3,所有的任务全部执行完毕,关闭线程池
反射
什么是反射?
反射允许对成员变量,成员方法和构造方法的信息进行编程访问