08 高级_NIO
文章平均质量分 73
NIO笔记
Yorick_Xu
这个作者很懒,什么都没留下…
展开
-
第一课 NIO简介
NIO简介1 Java NIO 简介2 Java NIO 和 IO 的主要区别 1 Java NIO 简介 Java NIO(New IO)是从Java1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。 2 Java NIO 和 IO 的主要区别 传统的流都是单向流:输入和输出需要建立两个流,输入流和输出流 NIO基于缓冲区原创 2021-01-06 22:19:49 · 60 阅读 · 0 评论 -
第二课 缓冲区
缓冲区1 缓冲区(Buffer)1.1 缓冲区基本类型1.2 缓冲区存取数据的两个核心方法1.3 缓冲区中的四个核心属性1.4 Buffer的常用方法2 直接缓冲区与非直接缓冲区 1 缓冲区(Buffer) 1.1 缓冲区基本类型 在Java NIO中,负责数据的存取。缓冲区底层实现使用数组,用于存储不同类型的数据。根据数据类型不同(boolean除外),提供了相应类型的缓冲区。 ByteBuffer CharBuffer ShortBuffer IntBuffer LongBuffer FloatBu原创 2021-01-06 22:21:14 · 275 阅读 · 1 评论 -
第三课 通道
通道1 通道(Channel)2 通道的主要实现类3 获取通道4 通道之间的数据传输(直接缓冲区)5 分散(Scatter)与聚集(Gather)6 字符集(Charset) 1 通道(Channel) 通道(Channel):用于源节点与目标节点的连接。在Java NIO中负责缓冲区中数据的传输。Channel本身不存储数据,因此需要配合缓冲区进行传输。现代计算机中通道集成于专用的处理器中,专门用于处理IO请求,提高效率。 2 通道的主要实现类 java.nio.channels.Channel原创 2021-01-06 22:22:26 · 213 阅读 · 0 评论 -
第四课 阻塞与非阻塞
阻塞与非阻塞1 使用 NIO 完成网络通信的三个核心2 选择器(Selector)2.1 SelectableChannle 的结构2.2 选择器的应用2.3 SelectionKey 选择键(ops参数)2.4 SelectionKey 的常用方法2.5 Selector 的常用方法3 网络通信中的常用通道3.1 SocketChannel 与 ServerSocketChannel3.2 DatagramChannel 传统的 IO 流都是阻塞式的。也就是说,当一个线程调用 read() 或 wri原创 2021-02-27 11:47:58 · 146 阅读 · 0 评论 -
第五课 管道
管道 Java NIO 管道(Pipe)是两个线程之间的单向数据连接。Pipe有一个 source 通道和一个 sink 通道。数据会被写到 sink 通道,从 source 通道读取。 package NIO; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.Pipe; public class TestPipe { public static void main(String[原创 2021-02-27 11:50:25 · 120 阅读 · 0 评论 -
第六课 NIO.2 & 自动资源管理
NIO.2 & 自动资源管理1 NIO.21.1 Path 与 Paths1.2 File 类2 自动资源管理 1 NIO.2 JDK7 发布后,Java 对 NIO进行了极大的扩充,增强了对文件处理和文件系统特性的支持。我们称之为 NIO.2。因为 NIO 提供的一些功能,NIO已经成为文件处理中越来越重要的部分 1.1 Path 与 Paths java.nio.file.Path接口代表一个平台无关的平台路径,描述了目录结构中文件的位置 Paths 提供的get()方法用来获取 Path原创 2021-02-27 11:52:15 · 139 阅读 · 0 评论