文章目录
在理解Java的BIO/NIO/AIO之前我们先梳理下linux的相关io概念,下面是参考的连接
我在网络上搜索相关io 有句话很熟悉
BIO 下的连接对应一个线程 , NIO 下的请求对应一个线程 , AIO下的有效请求对应一个线程
- BIO:线程发起 IO 请求,不管内核是否准备好 IO 操作,从发起请求起,线程一直阻塞,直到操作完成。
- NIO:客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有 I/O 请求时才启动一个线程进行处理。
- AIO:线程发起 IO 请求,立即返回;内存做好 IO 操作的准备之后,做 IO 操作,直到操作完成或者失败,通过调用注册的回调函数通知线程做 IO 操作完成或者失败。
请求可以是读写都会创建对应线程处理,而有效请求着是 处理完对应io操作后才会调用对应的线程去操作
netty介绍
RPC一-线程模型 · 造舟野渡
RPC二-NettyHandler处理消息 · 造舟野渡
RPC三-rpc协议和编解码 · 造舟野渡
RPC四-netty异步双向责任链 · 造舟野渡
RPC五-可靠性设计 · 造舟野渡
RPC六-动态代理 · 造舟野渡
Java io相关内容
java - 理解什么是BIO/NIO/AIO_个人文章 - SegmentFault 思否
Java Development: BIO, NIO, AIO and Netty | Medium
linux io的相关链接