
Java NIO
azhegps
技术源于不断滴追求!
展开
-
Java NIO系列教程(一) Java NIO 概述
原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一Java NIO 由以下几个核心部分组成:ChannelsBuffersSelectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组转载 2016-09-02 10:46:53 · 251 阅读 · 0 评论 -
Java NIO系列教程
原文地址:http://tutorials.jenkov.com/java-nio/index.html作者:Jakob Jenkov 译者:郭蕾 校对:方腾飞Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。Java NIO: Channels a转载 2016-09-02 10:21:45 · 314 阅读 · 0 评论 -
Java NIO系列教程(十一) Pipe
原文链接 作者:Jakob Jenkov 译者:黄忠 校对:丁一Java NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。这里是Pipe原理的图示:创建管道通过Pipe.open()方法打开管道。例如:Pipe pipe =转载 2016-09-03 18:52:39 · 234 阅读 · 0 评论 -
Java NIO系列教程(十) Java NIO DatagramChannel
原文链接 作者:Jakob Jenkov 译者:郑玉婷 校对:丁一Java NIO中的DatagramChannel是一个能收发UDP包的通道。因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入。它发送和接收的是数据包。打开 DatagramChannel下面是 DatagramChannel 的打开方式:DatagramChan转载 2016-09-03 18:51:42 · 328 阅读 · 0 评论 -
Java NIO系列教程(九) ServerSocketChannel
原文链接 作者:Jakob Jenkov 译者:郑玉婷 校对:丁一Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样。ServerSocketChannel类在 java.nio.channels包中。这里有个例子:ServerSocketChanne转载 2016-09-03 18:51:07 · 239 阅读 · 0 评论 -
Java NIO系列教程(八) SocketChannel
原文链接 作者:Jakob Jenkov 译者:郑玉婷 校对:丁一Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel:打开一个SocketChannel并连接到互联网上的某台服务器。一个新连接到达ServerSocketChannel时,会创建一个SocketChannel。转载 2016-09-03 18:50:16 · 489 阅读 · 0 评论 -
Java NIO系列教程(七) FileChannel
原文链接 作者:Jakob Jenkov 译者:周泰 校对:丁一Java NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下。打开FileChannel在使用FileChannel之前,必须先打开它。但是,我们无法直接打开一个FileC转载 2016-09-03 18:49:43 · 253 阅读 · 0 评论 -
Java NIO系列教程(六) Selector
原文链接 作者:Jakob Jenkov 译者:浪迹v 校对:丁一Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。下面是本文所涉及到的主题列表:为什么使用Selector?Selector的创建向Selector注册通道Select转载 2016-09-03 18:42:46 · 338 阅读 · 0 评论 -
Java NIO系列教程(三) Buffer
原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。下面是NIO Buffe转载 2016-09-02 11:17:51 · 336 阅读 · 0 评论 -
Java NIO系列教程(五) 通道之间的数据传输
原文地址:http://tutorials.jenkov.com/java-nio/scatter-gather.html作者:Jakob Jenkov 译者:郭蕾 校对:周泰在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel。transf转载 2016-09-02 11:44:46 · 286 阅读 · 0 评论 -
Java NIO系列教程(四) Scatter/Gather
原文地址:http://tutorials.jenkov.com/java-nio/scatter-gather.html作者:Jakob Jenkov 译者:郭蕾 Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在中文经常翻译为通道)中读取或者写入到Channel的操作。分散(sca转载 2016-09-02 11:34:27 · 347 阅读 · 0 评论 -
Java NIO系列教程(二) Channel
原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一Java NIO的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。 通道可以异步地读写。 通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:...转载 2016-09-02 10:59:12 · 285 阅读 · 0 评论 -
Java NIO系列教程(十二) Java NIO与IO
原文地址:http://tutorials.jenkov.com/java-nio/nio-vs-io.html作者:Jakob Jenkov 译者:郭蕾 校对:方腾飞当学习了Java NIO和IO的API后,一个问题马上涌入脑海:我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异、它们的使用场景,以及它们如何影响您的代码设计。...转载 2016-09-05 13:26:14 · 314 阅读 · 0 评论