IO流的设计模式:
1-适配器模式:改变接口达到重复使用的目的。
InputStreamReader,将InputStream适配到Reader。
----StringReader,StringWriter,ByteArrayInputStream,ByteArrayOutputStream....
FilterInputStream:InputStream抽象组件,FilterInputStream具体组件,装饰角色。
----BufferedInputStream,LineNumberInputStream.
2-装饰者模式:保持原有接口,增强原有对象功能;或改变原有对象方法,提高性能。
同步、异步、阻塞、非阻塞:
1-同步:用户进程触发IO操作并等待。
2-异步:用户进程触发IO操作后开始干别的,等IO完成时获得通知。
3-阻塞:读写操作等待状态。
4-非阻塞:读写操作不等待,等通知再返回。
BIO、NIO、AIO:
1-同步阻塞BIO:进程不返回,等读写。
客户端有连接请求时,服务器端启动一个线程,如果这个连接不做事,会造成线程开销。
2-同步非阻塞NIO:进程不返回,不等读写。
客户端有连接请求时,注册到复用器上,多路复用器轮训到有I\O请求时才启动线程。
3-异步阻塞NIO:进程返回,等读写。
4-异步非阻塞AIO:进程返回,不等读写。