按流向来分:
输入流:InputStream、Reader
输出流:OutputStream、Writer
按处理单元分:
字节流:InputStream、OutputStream,按byte处理,能处理所有文件
FileInputStream、FileOutputStream
ByteInputStream、ByteOutputStream
BufferedInputStream、BufferedOutputStream
ObjectInputStream
DataInputStream
字符流:Reader、Writer,按char处理,只能处理文本文件
CharReader、CharWriter
BufferedReader、BufferedWriter
字节流和字符流转换:InputStreamReader、OutputStreamWriter
BIO、NIO、AIO
BIO 同步阻塞IO:
SeverSocket中,在客户端请求时,服务器为每个客户端分配一个线程进行处理。在通信过程中,这个线程只能为
当前的客户端服务。
NIO 同步非阻塞IO:
一个线程能处理多个客户端。
多路复用机制:利用单线程轮询事件,定位就绪Channel 。在查询时是阻塞的,为了避免大量客户端连接导致线程频繁切换。
AIO 异步非阻塞IO
服务器在收到客户端的请求时,首先向客户端发送消息表示接收到请求,等服务器处理完请求之后,再向客户端返回请求结果。
来源:https://blog.csdn.net/stfen/article/details/100859143