I/O 分类
- 按传输数据方式:
字节流:以 byte 为基本单位进行,XXXStream 表示字节流
字符流:以字符为基本单位,字符又根据编码方式不同,一个字符对应不同大小的 byte。XXXReader、xxxWriter 表示字符流相关类
字节流可以处理任何类型的数据,如图片,视频等;字符流只能处理字符类型的数据。
- 按输入输出方向:
输入流(InXXX)、输出流(OutXXX)
Java 中的 I/O 种类
同步与异步
调用者是否主动等待调用的返回结果
同步和异步关注的是消息通信机制,即消息是怎么返回的,是直接返回还是通过回调返回。
同步和异步的区别最大在于异步的话调用者不需要等待处理结果,被调用者会通过回调等机制来通知调用者其返回结果。
阻塞与非阻塞
阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态.
阻塞调用是指调用结果返回之前,当前线程会被