- 网络IO实现方式分为BIO(阻塞IO)、线程池伪异步IO、NIO(非阻塞IO)、AIO(异步非阻塞IO);
- 异步、同步是说是否允许并发,阻塞、非阻塞是说是否等待结果;
- NIO中重要概念缓冲区Buffer、通道Channel、多路复用器Selector;
- Buffer实现类都是基本类型的buffer,例如IntBuffer,实现就是int数组+四个索引(mark备份读取位置;position已读写到的位置;limit可读写的最大界限;capacity容量,数组长度);
- ByteBuffer使用直接缓冲区,不同于其他buffer使用的jvm堆栈;
- 通道Channel是用于读写数据的对象,例如SocketChannel,能通过TCP读写网络中的数据;FileChannel从文件中读写数据;通过继承SelectableChannel可向Selector注册以获取就绪的Channel对象;
- Selector是SelectableChannel对象的多路复用器,Channel可注册的事件可在validOps方法查看;Channel不能同时注册OP_ACCPET和OP_READ或同时注册OP_CONNECT和OP_WRITE,对底层来说只有read和write两种事件,如下:OP_ACCEPT、OP_READ == Read 和OP_CONNECT、OP_WRITE == Write
Java IO快速入门
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java I...
- 简介 Java NIO 是由 Java 1.4 引进的异步 IO.Java NIO 由以下几个核心部分组成: Ch...