00:00
各位同学大家好,下面呢,我们继续来学习Java n IO,我们来学习里边的两个操作,一个叫CCA,翻译过来叫分散,一个叫干,翻译过来叫聚集,那这两操作其实他们主要做的都是针对channel里边读取和写入的这个操作,那下面给各位分别解释一下,什么叫分散,什么叫聚集?首先我们先看一下什么叫分散,分散是什么意思呢?就是现在啊,我们从channel中来读取数据,把读取的数据呢给它放到多个八中去,这个过程就叫分散,也就是说China从里边读出数据,然后分散到多个八块中去,然后这个过程大家看我这张图上,各位看到啊,我这里边是不是有一个channel,然后咱们从channel中读取出数据,把数据给它放到多个八中去,这个过程就叫做分散。
01:00
这各位知道,然后第二个叫聚集,聚集什么意思呢?更好理解,聚集指的是写入channel的这么一个过程,它指的是咱们在写操作的时候,把多个八块中的数据写入到同一个开头中去。也就是说多个B块中数据聚集到同一个探索中去,也就是里边的这张图上标志过程,大家看到啊,我这里边是不是有多个八块,然后多个八块数据最终写入到同一个拆头中去,这个过程就叫做聚集,所以这是两个基本介绍,一个分散,一个聚集,而分散聚集中呢,经常用于就是我们的数据分开处理的场合,举个例子。比如我们现在啊,传播数据中有一个消益头,有一个消益体,那咱可以把这两部分分散到不同的八物中去,这样的话咱可以方便把你的头和体分开进行处理,所以这是关于分散和聚集,那这个分散聚集它该怎么进行实现呢?我们来看一下这个代码,这代码应该很简单,首先我们看这个就是分散的过程,咱们读取抬头数据,分散到多个包告中去,那各位看到啊,我这里边,比如说现在我这里边建了是不是有两个buff?
02:21
然后你看我怎么做的啊,两个buff份咱们放到是一个buff份到数组中去,最后调拆中的read的方法,把它就放到多个八个中去,这就是里边这个过程,也就是调瑞的方法,里边传个八数组。然后这个过程中呢,大家注意啊,瑞的方法会按照B中的顺序往里边来放那种就首先比如放第一个,然后再放第二个,因此类推,当一个八块吸满之后,它再紧接着向另一个里边放内容啊,所以它里边就是有这么一个特点,这就叫做我们说的分散的一个过程,所以各位把这个给记住。
03:05
然后下面呢,我们再看这个聚集这个过程是怎么样的啊,各位看到啊,聚集呢,打开代码中,比如我现在啊,首先我也是两八块,然后咱们把两八块放到一个数组中去,然后你看下面怎么做,咱是不是掉一个right方法呀,Right方法就是把你多个八块中的那种,最终写入到一个陈子中去,这个过程我们就叫做聚集的过程,所以这是一段基本代码,也就是里边我们有多个B法放到数组中,最终调里边的read或者write方法,最终做一个实践。而这里边呢,我们做句集的时候呢,里边有个特点咱也说一下啊,就是现在比如说我们调write方法的时候,它也是按照buffer中数组的顺序进行操作的,而这个时候呢,注意啊,我们只有这个position和limit之间的数据才会被写入,也就是说呢,比如现在啊,我有一个八块流量是128,自己在这里边仅包含58这些数据,那这个时候这58节的数据就会写到咱们这个参头中去,这是里边这个特点啊,所以咱们现在就把这个通道中的两个基本操作给各位做了介绍,一个叫分散,分散咱一般指的就是。
04:26
把我这个拆座中的数据给的就是分散到多个八路中去,第二个叫聚集,它指的是把多个八路中的数据聚集到一个配中去,所以这两个操作给各位最终做了一个说明。
我来说两句