NIO解说
acceptor 接受者
handler 处理
buffer 缓冲
compact 压缩,合约
百度安全验证https://baijiahao.baidu.com/s?id=1643812977430447508&wfr=spider&for=pcNetty入门-第一话【持续更新,万字长文系列】_youthlql的博客-CSDN博客文章目录Netty简介Netty 的介绍Netty 的应用场景互联网行业游戏行业大数据领域其它开源项目使用到 NettyNetty 的学习资料参考Java BIO编程I/O 模型BIO、NIO、AIO 使用场景分析Java BIO 基本介绍Java BIO 工作机制Java BIO 应用实例问题分析Java NIO编程Java NIO 基本介绍NIO 和 BIO 的比较NIO 三大核心原理示意图Selector、Channel 和 Buffer 关系图(简单版)缓冲区(Buffer)基本介绍Buffer 类https://blog.csdn.net/Youth_lql/article/details/115524052
BIO一个连接一个线程
1.每个 Channel 都会对应一个 Buffer。
2.Selector 对应一个线程,一个线程对应多个 Channel(连接)。
3.该图反应了有三个 Channel 注册到该 Selector //程序
4.程序切换到哪个 Channel 是由事件决定的,Event 就是一个重要的概念。
5.Selector 会根据不同的事件,在各个通道上切换。
6.Buffer 就是一个内存块,底层是有一个数组。
7.数据的读取或者写入是通过 Buffer,这个和 BIO是不同的,BIO 中要么是输入流,或者是输出流,不能双向,但是 NIO 的 Buffer 是可以读也可以写,需要 flip 方法切换, Channel 是双向的,可以返回底层操作系统的情况,比如 Linux,底层的操作系统通道就是双向的。
NIO是事件驱动, 根据不同的时间进行处理
客户端来连接我的server , 我通过serversocketChannel 生成一个对应的socketChannel ,如图所示
scattering 分散 Gatering 聚合
尚硅谷Netty视频教程(B站超火,好评如潮)_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1DJ411m7NR?p=20&spm_id_from=pageDriver
可以有多个
Netty
pipleLine 可以使netty提供的也可以是自定义的
ctx包含pipeline和channel , channel包含pipeline, pipeline包含channel



