![](https://img-blog.csdnimg.cn/20200414224338443.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
java-I/O
java I/O BIO\NIO\AIO
千钧~
天道不一定酬所有勤,但是,天道只酬勤
展开
-
NIO——简介
Java NIO(New IO) 是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持 面向缓冲区 的、 基于通道 的IO操作。NIO将以 更加高效 的方式进行文件的读写操作。Java NIO 与 IO 的主要区别IONIO面向流(Stream Or...原创 2019-09-04 22:23:13 · 77 阅读 · 0 评论 -
NIO—— 缓冲区(Buffer)
Channel 负责传输, Buffer 负责存储缓冲区(Buffer)特定基本数据类型的容器。由 java.nio 包定义的,所有缓冲区都是 Buffer 抽象类的子类负责数据 的存取 ,缓冲区就是数组, 用于存储不同的数据据类型的不同 (Boolean 除外) 提供相应类型的缓冲区: Byte Char Short Int Long Float Double获取缓冲区 :st...原创 2019-09-04 22:26:48 · 111 阅读 · 0 评论 -
NIO——通道(Channel)
通道(Channel):由 java.nio.channels 包定义的。Channel 表示 IO 源与目标打开的连接。Channel 类似于传统的“流”。只不过 Channel本身不能直接访问数据,Channel 只能与Buffer 进行交互。Java 为 Channel 接口提供的最主要实现类如下:FileChannel:用于读取、写入、映射和操作文件的通道。DatagramC...原创 2019-09-04 23:22:18 · 217 阅读 · 0 评论 -
NIO——分散(Scatter)和聚集(Gather)+编码
分散读取(Scattering Reads)是指从 Channel 中读取的数据“分散”到多个 Buffer 中注意:按照缓冲区的顺序,从 Channel 中读取的数据依次将 Buffer 填满。聚集写入(Gathering Writes)是指将多个 Buffer 中的数据“聚集”到 Channel。注意:按照缓冲区的顺序,写入 position 和 limit 之间的数据到 Ch...原创 2019-09-04 23:40:12 · 266 阅读 · 0 评论 -
NIO ——的非阻塞式网络通信
阻塞与非阻塞传统的 IO 流都是阻塞式的。也就是说,当一个线程调用 read() 或 write()时,该线程被阻塞,直到有一些数据被读取或写入,该线程在此期间不能执行其他任务。因此,在完成网络通信进行 IO 操作时,由于线程会阻塞,所以服务器端必须为每个客户端都提供一个独立的线程进行处理,当服务器端需要处理大量客户端时,性能急剧下降。Java NIO 是非阻塞模式的。当线程从某通道进行读写...原创 2019-09-11 19:47:13 · 98 阅读 · 0 评论 -
NIO —— Path、Paths、Files
Path 与 Pathsjava.nio.file.Path 接口代表一个平台无关的平台路径,描述了目录结构中文件的位置。Paths 提供的 get() 方法用来获取 Path 对象:Path get(String first, String … more) : 用于将多个字符串串连成路径。Path 常用方法:boolean endsWith(String path) : 判断...原创 2019-09-11 23:55:31 · 404 阅读 · 0 评论