
io与nio
scyxm0426
这个作者很懒,什么都没留下…
展开
-
Java NIO系列一之概览
一 NIO简介Java NIO 是 java 1.4 之后新出的一套IO接口,这里的的新是相对于原有标准的Java IO和Java Networking接口。NIO提供了一种完全不同的操作方式。NIO中的N可以理解为Non-blocking,不单纯是New。它支持面向缓冲的,基于通道的I/O操作方法。 随着JDK 7的推出,NIO系统得到了扩展,为文件系统功能和文件处理提供了增强的支持...转载 2018-08-15 11:06:32 · 151 阅读 · 0 评论 -
Java NIO系列二 之 Buffer(缓冲区)
一 Buffer(缓冲区)介绍Java NIO Buffers用于和NIO Channel交互。 我们从Channel中读取数据到buffers里,从Buffer把数据写入到Channels.Buffer本质上就是一块内存区,可以用来写入数据,并在稍后读取出来。这块内存被NIO Buffer包裹起来,对外提供一系列的读写方便开发的接口。在Java NIO中使用的核心缓冲区如下(覆盖了通...转载 2018-08-15 11:08:03 · 256 阅读 · 0 评论 -
Java NIO系列三 之 Channel(通道)
一 Channel(通道)介绍通常来说NIO中的所有IO都是从 Channel(通道) 开始的。 从通道进行数据读取 :创建一个缓冲区,然后请求通道读取数据。 从通道进行数据写入 :创建一个缓冲区,填充数据,并要求通道写入数据。 数据读取和写入操作图示:Java NIO Channel通道和流非常相似,主要有以下几点区别: 通道可以读也可以写,流一般来说是单向...转载 2018-08-15 11:09:26 · 218 阅读 · 0 评论 -
Java NIO系列四之Selector(选择器)
一 Selector(选择器)介绍Selector 一般称 为选择器 ,当然你也可以翻译为 多路复用器 。它是Java NIO核心组件中的一个,用于检查一个或多个NIO Channel(通道)的状态是否处于可读、可写。如此可以实现单线程管理多个channels,也就是可以管理多个网络链接。 使用Selector的好处在于: 使用更少的线程来就可以来处理通道了, 相比使用多个线程,避免了...转载 2018-08-15 11:10:30 · 226 阅读 · 0 评论 -
JAVA NIO系列六之NIO学习总结以及NIO新特性介绍
我们知道是NIO是在2002年引入到J2SE 1.4里的,很多Java开发者比如我还是不知道怎么充分利用NIO,更少的人知道在Java SE 7里引入了更新的输入/输出 API(NIO.2)。但是对于普通的开发者来说基本的I/O操作就够用了,而NIO则是在处理I/O性能优化方面带来显著性效果。更快的速度则意味着NIO和NIO.2的API暴露了更多低层次的系统操作的入口,这对于开发者而言则意味着更复...转载 2018-08-15 11:12:03 · 177 阅读 · 0 评论 -
Java NIO系列七之 AsynchronousFileChannel异步文件通道
Java7中新增了AsynchronousFileChannel作为nio的一部分。AsynchronousFileChannel使得数据可以进行异步读写。下面将介绍一下AsynchronousFileChannel的使用。创建AsynchronousFileChannel(Creating an AsynchronousFileChannel)AsynchronousFileChanne...转载 2018-08-15 11:13:31 · 1112 阅读 · 0 评论 -
Java NIO系列五之拥抱Path和Files
一 文件I/O基石:PathJava7中文件IO发生了很大的变化,专门引入了很多新的类来取代原来的基于java.io.File的文件IO操作方式:import java.nio.file.DirectoryStream;import java.nio.file.FileSystem;import java.nio.file.FileSystems;import java.nio.f...转载 2018-08-15 11:17:09 · 282 阅读 · 0 评论