尚硅谷Netty系列学习笔记三《NIO介绍》

前言:1.由于工作需要,需要学习下Netty框架,随对学习进行整理。方便后期的翻阅。大家也可以借鉴下。

           2.学习基于尚硅谷的Netty视频教程,笔记也会查阅其他资料来完善观看视频中本人理解模糊的地方。

NIO介绍

是面向 缓冲区,或者面向块编程的,数据读取到一个它稍后处理的缓冲区,需要时可在缓冲区前后移动,这就增加了处理过程中的灵活性,使它可以提供非阻塞式的高伸缩网络

NIO的三大核心组件

Selector(选择器)、Channel(通道)、Buffer(缓冲区)

尚硅谷Netty系列学习笔记三《NIO介绍》_第1张图片

重点概念:

1.每个Channer都会对应一个Buffer

2.Selector对应一个线程,一个线程对应多个Channel( 连接)

3.上图反映了有三个Channel注册到了该Selector //程序

4.程序切换到哪个Channel上,是由事件(Event)决定的。

5.Selector会根据不同的事件,在各个通道上切换

6.Buffer就是一个内存块,底层是一个数组

7.数据的读取写入是通过Buffer,和BIO不同,BIO中有两个流,一个是输入流,一个是输出流。NIO的Buffer是双向的,可以读也可以写。需要flip方法进行切换

8.Channel也是双向的,可以返回底层操作系统的情况,linux底层操作系统通道就是双向的!

下一节 尚硅谷Netty系列学习笔记四《NIO核心组件之Buffer介绍》

你可能感兴趣的:(netty,netty)