随笔分类 - 翻译-java nio教程
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 我们什么时候该使用IO,什么时候该使用NIO呢? 本文会罗列一些NIO和IO的不同点,和用法,以及它们都是如何影响设计的。 主要的不同点 IO NIO 面向流 面向缓冲区 阻塞IO 非阻塞
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 前面的文章中,我们学习了不少关于Java NIO相关的概念,比如:Selector、Channel、Buffer等,但是要设计一个非阻塞的服务器似乎还不够。要使用NIO构建非阻塞服务器比起
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 NIO的Files提供了操作系统文件的方法,Files经常和Path协作使用,所以在本文之前了解Path是比较有帮助的。 Files.exists exists方法用于检测Path是否存在
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 Path是从Java 7开始加入NIO软件包的。它可以表示一个文件,也可以表示一个路径。可以是绝对路径,也可以是相对路径。 你可能会觉得Path和常见的File很相似,大多数场景下File
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 在Java7的时候,加入了AsynchronousFileChannel,使得你可以进行异步地read或write操作。本文关于如何使用AsynchronousFileChannel。 创
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 NIO的管道(Pipe)是一种打通两个线程之间数据传输的一种方式。Pipe包含两个channel: 1)Source Channel 2)Sink Channel 你可以向SinkChan
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 DatagramChannel是一个可以从UDP连接上发送和接收数据包的通道。和TCP不同,UDP是一种不可靠的无连接协议因此我们对DatagramChannel的读写操作就无法直接照搬S
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 ServerSocketChannel不直接传输数据,但是它可以监听TCP连接,就像是ServerSocket一样 ServerSocketChannel serverSocketChan
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 SocketChannel表示一个连接到TCP通道的Socket上。有两种方式可以创建SocketChannel 1.你可以直接open一个SocketChannel,然后connect
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 Java NIO软件包中的FileChannel表示的是连接到文件上的通道。使用FileChannel,你可以从文件中读取数据,以及写入数据到文件中。 FileChannel不可以被设置为
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 Java NIO选择器(selector)是一个可以监控一个或多个Channel的组件,监控Channel是否可以read或者write操作。这是一种使得单线程可以管理多个Channel的
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 在Java NIO当中,如果两个Channel中有一个Channel是FileChannel,你可以直接从一个Channel将数据传到另一个Channel。FileChannel中包含了t
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 在前面的文章中,我们默认了一个规则。就是默认了一个Channel对应了一个Buffer,它们之间的读写发生在一对一关系里。事实上,Channel是可以对应多个Buffer的,也就是一对多关
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 本文继续Java NIO的缓冲区(Buffer)部分。我们前面不断提及的,Buffer将在和Channel打交道的时候使用。我们从Channel读入数据到Buffer,或者从Buffer写
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 Java NIO中的通道(Channel)和我们熟悉的流(Stream)很相似,区别点在于: 1.Stream只能读或者写,但是Channel可以同时读写 2.Stream的读写是同步的,
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 Java NIO包含了一下核心组件 1.channel:通道 2.buffer:缓冲区 3.selector:选择器 Java NIO软件包有很多类,但是最核心的就是这三种。所以本文重点关
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12901123.html 正文 Java NIO(New IO)是Java1.4开始提供的,区别于1.4之前的BIO,提供了不同的工作机制。 本文包含了Java NIO的基本概念 通道(channel)和缓冲区(buff
阅读全文
摘要:在1.4以前Java的网络编程从BIO开始。jdk1.4开始,Java提供了NIO软件包,为高性能的网络编程提供了有力的帮助。 本教程共17篇,翻译自:http://tutorials.jenkov.com/java-nio/index.html 注意:这是原作者 Jakob Jenkov 于201
阅读全文
浙公网安备 33010602011771号