陪产假结束了,今天又开始正常上班了,正好赶上米粉节活动,又要忙上一阵了,米粉节活动时间为4.03 - 4.10,有不少优惠,感兴趣的可以关注mi.com或小米商城app。
今天给大家送了福利:小爱音箱F码,据说卖的比较好,不太好抢到,借着这次公司福利,分享给大家,以表大家的支持和鼓励。
掘金的运营真的很贴心,主动找到我说:我的福利文章不是技术型文章,不能推送到信息流,只能在个人主页看到,为了让更多的人参与这次抽取,建议写一篇技术文章,末尾加上送福利的内容。再次感谢掘金运营小哥「刺客」的贴心和建议。
RabbitMQ实战的后续章节还没来得及看,这篇就总结下之前在项目组分享过的技术点:Netty事件监听和处理。
通过介绍,你会了解到:
- 事件监听、NIO、线程模型等相关概念;
- Netty总体结构;
- 事件监听和处理;
- 项目实践总结;
本篇先介绍下前两节,下一篇介绍后两节。
本篇最后会说明下福利的抽取规则,大家积极参与 >_<
相关概念
Netty是一个NIO框架,它将IO通道的建立、可读、可写等状态变化,抽象成事件,以责任链的方式进行传递,可以在处理链上插入自定义的Handler,对感兴趣的事件进行监听和处理。
所以,先介绍下事件监听、责任链模型、socket接口和IO模型、线程模型等基本概念,对后面理解Netty的事件监听和处理有很大帮助。
事件监听
JDK监听器模式主要包含以下元素:
- EventObject 事件对象
- EventListener 事件监听接口
- 自定义事件源
- 事件触发
模式很简单,用户可以自定义事件源,保存触发对象的相关数据,事件被触发后,传递给注册事件的处理者。事件监听接口是为了统一处理者方法。
举个比较好理解的按钮单击事件,其中ActionListener是事件监听器,ActionEvent是事件对象,包含了事件源: