Netty
文章平均质量分 95
本专栏基于4.1.73.Final版本进行解析,源码地址为:https://github.com/lhj502819/netty/tree/v502819-main
壹氿
做一个有准备的人吧~
展开
-
IO模型之I/O多路复用
假如我们设计了一个程序,该程序从标准输入接收数据输入,然后通过套接字发送出去,同时,改程序也通过套接字接收对方发送的数据流。我们可以调用某些语言提供的API等待标准输入,但是一旦这样做,就没有办法在套接字有数据的时候读出数据;我们也可以使用某些API等待套接字有数据返回,但是这样做,也没有办法在标准输入有数据的情况下,读入数据并发送给对方。I/O多路复用意味着我们可以同时监视多个fd上的I/O,并在其中任何一个就绪时读取,而非阻塞I/O意味着在读取fd时,如果没有可用的,则立即返回一个错误,而不是等待/阻塞原创 2022-12-03 19:44:12 · 1144 阅读 · 0 评论 -
深入剖析Netty之定时任务实现
Netty的定时任务实现原创 2022-01-30 20:25:59 · 1657 阅读 · 0 评论 -
深入剖析Netty之NioEventLoop寻根究底
EventLoop在Netty中的作用至关重要,设计也非常的复杂,今天就跟随我一起将EventLoop拆解清楚!原创 2022-01-16 17:59:47 · 1177 阅读 · 7 评论 -
深入剖析Netty之EventLoop刨根问底
在我们的日常使用中,EventLoopGroup是我们的老朋友了,EventLoopGroup我们已经讲解过了,那EventLoop是个啥呢?主要是用来做什么的?今天我就来带大家一探究竟!原创 2022-01-16 17:45:50 · 543 阅读 · 0 评论 -
Reactor模型你知道都有哪些吗?
从传统的BIO到NIO,NIO之后又衍生出的Reactor模型,到底都有哪些?Netty的线程模型是基于哪种Reactor模型的呢?原创 2022-01-09 15:13:45 · 990 阅读 · 3 评论 -
Doug lea《Scalable IO in Java》翻译
英语水平有限,翻译的不是太好,大家多多见谅????,但是读完之后对Reactor的设计肯定是更上一层楼,还需要细细品尝原创 2022-01-09 15:01:52 · 632 阅读 · 1 评论 -
Netty服务端创建源码流程解析
本专栏基于4.1.73.Final版本进行解析相信大家对创建一个Netty服务端已经很熟悉了,下边是一个简单的服务端的例子:public final class EchoServer { static final boolean SSL = System.getProperty("ssl") != null; static final int PORT = Integer.parseInt(System.getProperty("port", "8007")); publ.原创 2022-01-08 15:28:21 · 797 阅读 · 1 评论 -
EventLoopGroup到底是个啥?
在Netty中,Channel为网络操作抽象类,EventLoop负责处理注册到其上的Channel处理I/O操作,两者配合参与I/O操作;EventLoopGroup是一个EventLoop的分组,它可以获取到一个或者多个EventLoop对象,因此它提供了迭代出EventLoop对象的方法。在我们的使用示例中,使用到的就是:new Nio.原创 2022-01-07 16:12:09 · 2499 阅读 · 1 评论 -
Java NIO三大角色Channel、Buffer、Selector
从JDK 1.4开始支持NIO编程,虽然目前用Netty的人占大部分,但是我们还是要先了解下Java的NIO是怎么实现的,今天就来一探究竟原创 2021-12-02 16:04:13 · 778 阅读 · 3 评论 -
你知道都有哪些I/O模型吗?
Linux的内核将所有外部设备都看做一个文件来操作,对一个文件的读写操作被调用内核提供的系统命令,返回一个file descriptor(fd ,文件描述符)。对一个socket的读写也会有相应的描述符,称为socketfd(socket描述符),描述符就是一个数字,它指向内核中的一个结构体(文件路径,数据区等一些属性)UNIX提供了5种I/O模型,分别如下:阻塞I/O模型最常见的I/O模型就是阻塞I/O迷行,缺省情形下, 所有的文件操作都是阻塞的,以套接字接口为例来讲解此模型:在进程空间.原创 2021-10-31 21:35:48 · 260 阅读 · 1 评论