NIO
蜡笔小勋
广东工业大学计算机学院软件工程专业
展开
-
Java NIO系列教程(五) 通道之间的数据传输
原文地址:http://tutorials.jenkov.com/java-nio/scatter-gather.html 作者:Jakob Jenkov 译者:郭蕾 校对:周泰 在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel。 transf转载 2015-06-04 23:48:51 · 618 阅读 · 0 评论 -
java 字节流与字符流的区别
字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示。 下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流。 范例:使用字节流不关闭执行 Java代码转载 2015-06-08 16:23:47 · 446 阅读 · 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转载 2015-06-04 23:43:40 · 474 阅读 · 0 评论 -
Java NIO系列教程(二) Channel
原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一 Java NIO的通道类似流,但又有些不同: 既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。 正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:转载 2015-06-04 23:27:35 · 4594 阅读 · 0 评论 -
Java NIO系列教程(一) Java NIO 概述
原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一 Java NIO 由以下几个核心部分组成: ChannelsBuffersSelectors 虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组转载 2015-06-04 22:59:12 · 447 阅读 · 0 评论 -
Java NIO和IO的主要区别
下表总结了Java NIO和IO之间的主要差别,我会更详细地描述表中每部分的差异。 IO NIO 面向流 面向缓冲 阻塞IO 非阻塞IO 无 选择器 面向流与面向缓冲 Java NIO和IO之间第一个最大的区别是,IO是面向流的,NIO是面向缓冲区的。 Java IO面向流转载 2015-06-04 22:25:54 · 460 阅读 · 0 评论 -
Java NIO系列教程(十一) Pipe
原文链接 作者:Jakob Jenkov 译者:黄忠 校对:丁一 Java NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。 这里是Pipe原理的图示: 创建管道 通过Pipe.open()方法打开管道。例如: Pipe pipe = Pi转载 2015-06-05 10:19:11 · 652 阅读 · 0 评论 -
Java NIO系列教程(十) Java NIO DatagramChannel
原文链接 作者:Jakob Jenkov 译者:郑玉婷 校对:丁一 Java NIO中的DatagramChannel是一个能收发UDP包的通道。因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入。它发送和接收的是数据包。 打开 DatagramChannel 下面是 DatagramChannel 的打开方式:转载 2015-06-05 10:19:41 · 686 阅读 · 0 评论 -
Java NIO系列教程(九) ServerSocketChannel
原文链接 作者:Jakob Jenkov 译者:郑玉婷 校对:丁一 Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样。ServerSocketChannel类在 java.nio.channels包中。 这里有个例子: 01转载 2015-06-05 10:14:16 · 619 阅读 · 0 评论 -
Java NIO系列教程(八) SocketChannel
原文链接 作者:Jakob Jenkov 译者:郑玉婷 校对:丁一 Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel: 打开一个SocketChannel并连接到互联网上的某台服务器。一个新连接到达ServerSocketChannel时,会创建一个SocketChannel。转载 2015-06-05 10:04:59 · 611 阅读 · 0 评论 -
Java NIO系列教程(七) FileChannel
原文链接 作者:Jakob Jenkov 译者:周泰 校对:丁一 Java NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。 FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下。 打开FileChannel 在使用FileChannel之前,必须先打开它。但是,我们无法直接打开一个FileC转载 2015-06-04 23:50:17 · 472 阅读 · 0 评论 -
Java NIO系列教程(三) Buffer
原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一 Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。 下面是NIO Buffe转载 2015-06-04 23:35:55 · 576 阅读 · 0 评论 -
BIO-NIO-AIO(Java版)
目录(?)[+] 原文:http://my.oschina.net/bluesky0leon/blog/132361 关于BIO | NIO | AIO的讨论一直存在,有时候也很容易让人混淆,就我的理解,给出一个解释: BIO | NIO | AIO,本身的描述都是在Java语言的基础上的。而描述IO,我们需要从两个层面: 编程语言实现原理底层基础 从编程语言转载 2015-06-05 10:57:19 · 602 阅读 · 0 评论 -
IO模式和IO多路复用
阅读目录1 基础知识回顾2 I/O模式3 事件驱动编程模型4 select/poll/epoll的区别及其Python示例 网络编程里常听到阻塞IO、非阻塞IO、同步IO、异步IO等概念,总听别人装13不如自己下来钻研一下。不过,搞清楚这些概念之前,还得先回顾一些基础的概念。回到顶部1 基础知识回顾注意:咱们下面说的都是Linux环境下,跟Windows不一样哈~~~1.1 用户空间和内核空间 ...转载 2018-04-08 14:26:34 · 313 阅读 · 0 评论