00:00
同学们,我们把前面讲的内容进行梳理。我们刚才在前面呢,笔记已经梳理到。这里缓冲区了。我们把缓冲区后面讲的内容进行梳理。从这开始哈,我们讲的是通道,是不是通道啊,把通道讲的内容梳理到我们的笔记中去。那么关于通道我们讲了哪些东西呢?首先是不是先做了基本介绍?对吧,我们先做基本介绍说了通道呢,诶通道这标个好通道呢,它类似于流,现在明白这意思吧,其实就相当于说我们传统的Java流里边呢,它内置了我们的通道,是这样子吧,同学们,所以说呃,我们这样子讲就跟以前以前的呃流。关联起来了,就就知道它是怎么来的,那紧接着我们继续往下梳理。玩家梳理,我们说了。通道呢,还有这样一些特点。
01:02
好,放到这里来,好。同样,我们给它来一个标号吧。有这么几点。哪几点呢,来看一下,诶这边。嗯,这个标号应该是从二开始,按理说。他没有没有找到一个地方好。给它切一下就行了,四。这边呢,当然就是五了。的对吧,说我们bio呢,它的流是单向的,对,而我们通道呢是双向的。而且呢,China呢,它其实是一个接口,对重要的China有哪些呢?一个是fair channel,是不是我们说过了,我们还举了一个是server socket channel,还有socket channel,这两者之间的关,呃,这几个关系是不是明白的,Serve我们可以通过server socket channel呢,生成或者创建一个socket channel,具体来说就这大家看。是不是在这里我们可以产生一个看通过一个server channel呢?得到客户端一个连接,我们就能生成一个so channel,与之进行一个通讯。
02:08
紧接着我们继继续往下梳理啊,把这个图也拿过来吧。把该图拿出来。图示。继续往下梳理。下面呢,我们说。Fire,它一些常用的方法是哪些?梳理到这里。FA。对。他常用的方法有这些对吧,我就来个小点就行了。这些方法是不是到现在我们都用过了哪些方法read,这个read是不是就是把通道从通道读取数据并放入到缓存缓缓冲区,Right呢?是把缓冲区的数据写入到通道。Transfer是什么?是不是也讲过了,还有transfer to这个呢,我们现在还没讲,后面我们再说。跟讲零拷贝的时候,我们再说transfer to。
03:03
文件通告里,呃,大致介绍完了过后,我们就举了相关的案例,好,我把案例呢给他梳理到我们的笔记中去,哪些案例,每个案例呢,都有他自己的一个应用场景,对。好,这边是一个要求。这边是要求,然后呢,代码我就不多说了,直接扔到这边来,第一个案例。方便同学们将来的阅读呢,我们直接把它把案例放到我们的笔记中去。第一个案例讲的是什么呀?最简单的一个。就是我们怎么把。是不是我们怎么把一个字符串写入到一个文件中,并且呢,是通过。Fair China来完成的第一个案例就说。说的是这个事情第二个案例。这个案例是不是写啊?诶就反过来了,方向,方向是反过来的。第二个实例同样也有要求,这个要求是干什么呢?就是我们我们可以呃将这个8201的数据读入到程序中,就是通过China呢,把一个文件的数据读到程序里面并显示,就是反向的一个操作。
04:12
反向操作代码在哪里呢?代码在零二,我们也把它梳理到笔记中去。非常的简单哈,这这前面几个案例都是比较简单的,第三个案例我们说的是什么呀。第三个案例是不是我们用一个buffer来完成的文件的这个读取,还有写入。我们也放到这儿来。OK,这是我们第三个案例。好的,用一个buffer来完成的。里面再加一个写入。要读取写入,我们都做了。那么这边其实还有个示意图对不对?还记得吧,当时我们在写这个文件操作的时候,这些示意图还是比较重要的,比如说我们在讲这个图的,在讲第三个案例的时候,我们先画出了它的示意图。
05:03
把这个示意图呢,也给同学们拿过来。放这啊,加深对它的一个认识,把代码放过来。这是我们的第三个案例。这压力呢,这些方法用到的方法还有相关的概念,我们在后边做net的时候都会用到。插入一个表格没有问题,紧接着我们继续梳理第四一个案例,第一个案例是不是用的是transfer from这个方法完成一个文件的拷贝,对吧,OK。我把他呢也放过来。这是我们的第四个案例。好的。第四个案例说完了以后。哦,我把代码也拿过来吧。这是我们的第四个案例的代码。梳理到笔记里面去。紧接着咱们继续往下走,下面呢,是不是我们又整理了一下通道它这个buffer和China的一些注意事项,并且呢,每一个注意事项我们都分别举例说明了。
06:04
因为有时候光光靠文字,你是很难理解它的含义的,所以说每一个细节,还是说注意的地方呢,我们都举了一个例子。好分别,我们把代码就放在它的这个下边。嗯,哪些案例呢,第一个。第一个是不是我们说的是嗯,Buffer,它支持的类型化的操作,你put什么类型,Get就应该是一个相应的类型,在哪里写的呢?应该是在这儿写的吧。对,诶是这个,哦,不是这个吧,就他。就这个案例好的,我呢把它放到表格里面去,紧接着我们继续往下看,而且我们讲了buffer呢,可以转成一个只读的buffer啊,这个时候呢,我们名字叫做read only buffer。也把这个代码梳理到笔记中去啊,非常的清晰啊,我们学东西呢,不怕这个东西有多难,关键是要清晰,慢慢清晰了过后,你就会学的越来越深入。好,这个是map的,Map的b buffer,它可以完成什么呢?就是我们让这个文件在内存中进行修改,而不需要把这个文件拷贝,拷贝一次啊,加速,加快我们的速度。
07:16
同样把代码放到这边来,第四一个案例是我们讲的关于buffer的,也就是我们buffer数组的一个操作,它可以完成一个scattering和这个gatherttering啊,就是一个分散,这个叫分散,这个叫聚合啊聚合。好,代码呢,我们也放过来。放这。Okay。好,同学们,那关于关于我们就是这一这个China和buffer关系的一个内容呢,我们就聊到这里。
我来说两句