IO
刘二郎
很懒
展开
-
Java NIO 通道(三)选择器基础概念介绍
今天来学习NIO中另一个重要的知识,选择器。NIO这本书讲解的呢,说实话有点乱,感觉就是在翻译,乱的让人看不懂很多东西,所以这篇文章结合了一些博客去理解。NIO Select在选择器章节中,有三个很关键的角色,也是核心类,SelectableChannel,SelectionKey和Selector。1.SelectableChannelSelectableChannel是可选择通道,它可以被注册...转载 2018-06-11 16:59:45 · 663 阅读 · 0 评论 -
Java NIO 缓冲区Buffer(一)基础学习
参考书籍:Java NIOIO系列的学习主要是为了增强自己在IO方面的不足,前面很多系列的学习都没有涉及到IO部分,因此打算从NIO开始,逐步去学习IO相关的知识。本质:是一块可以写入数据,然后可以从中读取数据的内存区域。这块内存被包装成NIO Buffer对象。由此提供了一些列API用于操作这块内存区域。交互:主要是和通道(Channel)进行数据交互。数据从通道读入缓冲区,从缓冲区写入通道。基...翻译 2018-06-06 10:57:06 · 137 阅读 · 0 评论 -
Java NIO 缓冲区Buffer(一)缓冲区的创建
学习的过程总是枯燥无畏的,但是你也必须勇往直前,量变引起质变是亘古不变的道理。目录1萨达十大目录2大方法二房翻译 2018-06-06 14:25:35 · 1568 阅读 · 0 评论 -
Java NIO 通道(二)通道基础
概念通道是NIO提供的一个全新的东西,提供与I/O服务的直接连接。Channel用于在字节缓冲区和位于通道的另一侧的实体(通常是一个文件或者套接字)之间进行有效的传输数据。接口定义 public interface Channel extends Closeable { public boolean isOpen(); public...翻译 2018-06-06 16:52:46 · 4308 阅读 · 0 评论 -
Java NIO 通道(二)通道分散/聚集
基于通道,NIO又提供了另一个重要功能,分散(Scatter)和聚集(Gather)。Scatter(分散):指的是从通道中读取(read)数据分散到多个缓冲区Buffer中,该过程会将每个缓冲区填满,直到通道中无数据或者缓冲区没有空间。Gather(聚集):指的是将多个缓冲区Buffer聚集起来写入(write)通道的过程,类似于将多个缓冲区的内容链接起来写入通道。代码public interf...翻译 2018-06-07 11:18:22 · 237 阅读 · 0 评论 -
IO-同步,异步,阻塞,非阻塞
虽然自己并不是主要从事网络编程方向,但是现在不会点名词吹牛还真使不上劲^_^。玩笑了,IO的概念还是需要我们去学习的。因为大多数的瓶颈都是首先出现在此,所以不得不去学习。看到的博客还是要自己去记载一份,免的以后找不到不知道该怎么办了。。参考文章:IO同步异步讲解知乎的争论看大家在讨论时都基于一个点,Linux的network IO。分成几块同步IO,异步IO,阻塞IO,非阻塞IO。1.同步异步同步...转载 2018-05-31 16:09:46 · 250 阅读 · 0 评论 -
Java NIO 通道(二)通道之间的传输
FileChannel提供了一个功能可以直接将数据从一个channel传输到另一个channel。transferFrom()此方法提供了可以将数据从源通道传输到FileChannel中。RandomAccessFile fromFile = new RandomAccessFile("fromFile.txt", "rw");FileChannel fromChannel = fromFil...翻译 2018-06-07 16:21:57 · 242 阅读 · 0 评论