Java IO快速入门

  • 网络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 NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java I...
    JackChen1024阅读 7,615评论 1 143
  • 简介 Java NIO 是由 Java 1.4 引进的异步 IO.Java NIO 由以下几个核心部分组成: Ch...
    永顺阅读 1,817评论 0 15
  • 这两天了解了一下关于NIO方面的知识,网上关于这一块的介绍只是介绍了一下基本用法,没有系统的解释NIO与阻塞、非阻...
    Ruheng阅读 7,162评论 5 48
  • 前言: 之前的文章《Java文件IO常用归纳》主要写了Java 标准IO要注意的细节和技巧,由于网上各种学习途径,...
    androidjp阅读 2,952评论 0 22
  • (转载说明:本文非原创,转载自http://ifeve.com/java-nio-all/) Java NIO: ...
    数独题阅读 829评论 0 3