原文地址:http://tutorials.jenkov.com/java-nio/nio-vs-io.html 作者:Jakob Jenkov 译者:郭蕾 校对:方腾飞 当学习了Java NIO和IO的API后,一个问题马上涌入脑海: 我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地 ...
分类:
编程语言 时间:
2016-03-28 15:23:52
阅读次数:
151
原文链接 作者:Jakob Jenkov 译者:郑玉婷 校对:丁一 Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel: 打开 SocketChannel 下面是SocketChannel的打开方式: 1 Socket ...
分类:
编程语言 时间:
2016-03-28 15:22:22
阅读次数:
128
原文地址:http://tutorials.jenkov.com/java-nio/scatter-gather.html 作者:Jakob Jenkov 译者:郭蕾 校对:周泰 在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:ch ...
分类:
编程语言 时间:
2016-03-28 15:21:49
阅读次数:
123
原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一 Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一 ...
分类:
编程语言 时间:
2016-03-28 15:21:30
阅读次数:
139
原文地址:http://tutorials.jenkov.com/java-nio/scatter-gather.html 作者:Jakob Jenkov 译者:郭蕾 Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在 ...
分类:
编程语言 时间:
2016-03-28 15:10:17
阅读次数:
174
原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一 Java NIO 由以下几个核心部分组成: Channels Buffers Selectors 虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API ...
分类:
编程语言 时间:
2016-03-28 15:02:44
阅读次数:
184
原文链接 作者:Jakob Jenkov 译者:浪迹v 校对:丁一 Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。 下面是本文所涉及到的主题列表: 为什么 ...
分类:
编程语言 时间:
2016-03-28 14:56:11
阅读次数:
245
原文链接 作者:Jakob Jenkov 译者:黄忠 校对:丁一 Java NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。 这里是Pipe原理的图示: 创建管道 通过Pipe.open()方法打开管道。例 ...
分类:
编程语言 时间:
2016-03-28 14:55:01
阅读次数:
161
原文链接 作者:Jakob Jenkov 译者:郑玉婷 校对:丁一 Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样。ServerSocketChannel类在 java.nio.channels包中 ...
分类:
编程语言 时间:
2016-03-28 14:53:53
阅读次数:
235
最后更新时间:2015-10-23
甚至如果你理解JAVA NIO的非堵塞特点的工作方式(Selector,Channel,Buffer等等),而设计一个非堵塞服务器也是难得。相对堵塞IO来说,非堵塞IO包含几个挑战。这个非堵塞服务器教程将会讨论非堵塞服务器的主要挑战,并且对于他们描述一些潜在的解决方案。
关于设计一个非堵塞服务器发现一些好的信息是难得。因此在这个教程中提供的解决方案是基于我自...
分类:
编程语言 时间:
2016-03-27 02:00:37
阅读次数:
331