00:00
各位上硅谷的朋友们大家好,欢迎继续收看上硅谷Java n IO课程,咱们继续来学习B缓冲区。在刚彩的内容中呢,我们讲到了什么是8UFF份,八份的基本使用,以及八份中三个重要的属性,那下面呢,我们来说一下就是八块的分配,也就是创建一个8UFF块,怎么分配它的大小,包括8UFF块中怎么做写操作以及怎么做读操作,那下面我们来看一下B块,它里面的第五课程,首先第一个呢,我们先看一下B块怎么进行分配。这个过程呢,其实咱们之前代码中应该都有体现,我们来看一下啊,这里写的。每个buffer类中都有一个方法,就这个lo k的方法,通过这个方法呢,我们能创建buffer,然后给它分配这个大小,那我们来看一下里面代什码,比如说咱看第一个里边写一个block k的方法,加个48,它就表示分配一个48,自己这个typec,这个GET8会这么一个例子,然后这就表示。
01:11
一个可存储1024个字符的这么一个八块,所以这是关于如何进行八块一个分配,这个应该比较简单,各位把它知道,包括咱们之前代码中应该都有体现。然后这个说完之后,我们继续往下来看。上面呢,我们看一下怎么向buffer中来写数据,首先我们看到啊,向buffer中写数据有两种方式,第一种方式通过channel,第二个通过buffer中的put的方法来实现,那这个我们来看一下啊,首先第一个我们看到从channel里边写到八的例子,里边就是通过channel中的read的方法,然后向八中写数据,这是里边的第一个操作。
02:02
然后咱们可以看一下之前写的相关代码,我们看到啊,这个方法就是像buff份中写内容,用read的方法进行实现,这是里边的第一个操作,然后咱看第二个方法,第二方法是什么呢?咱们通过buffer中的put方法可以向里边写数据,然后咱们也是看一下之前写过的代码,大家看这个代码是不是调一个put方法可以向B中写内容。所以这是我们说的如何向buffer中写数据,通过China,通过to方法都可以进实现。然后这里边呢,在buffer中还有一个方法,这个方法叫flip方法,这个方法什么意思呢?它就表示啊,将buffer从写的模式切换到读的模式,而掉这个方法我们可以把这个position的值设为零,而设成零之后里边呢,将limit就变成之前这个position值,也就是咱们刚才说里边那个参数,也就是说你往里边写数据,咱为了保证能读到数据,所以这里边的limit就变成了position这个值,这是咱们刚才提到的,所以这是关于怎么向B中写数据这个过程,各位把这个知道。
03:23
然后这个说完之后呢,我们继续介绍如何从buffer中读数据,这里边也是两方式,第一个从buffer中读取数据到channel中,第二个用里边的get方法进行实现,那我们看第一个啊,就是咱们从channel中加个right方法,这就表示从八份中读数据到channel,然后这个代码我们到里边也找一下,咱们之前应该也写过类似的代码,那我们找一下,呃,就是这个方法,从八份中写数据啊,包括里面的过程我们用write方法进行实现,这是第一种方式,然后第二种方式呢,咱们从buff份中调它的get方法,可以从里边读取到我们的数据包后,各位看一下代码,这个代码是不是就调get方法,然后从buffer中来读取数据。
04:17
所以这样的话呢,咱就说完了,第一个八份怎么进行分配大小,第二个怎么从八份中读数据,包括第三个怎么向八块中写数据,各位把里边的针对八块的最基本的几个操作给他要牢牢记住,所以这个我们就介绍完成了。
我来说两句