Netty
文章平均质量分 90
阿丸笔记
微信公众号:阿丸笔记。
Java知识图谱:https://github.com/saigu/JavaKnowledgeGraph
展开
-
Netty常用招式——ChannelHandler与编解码
本文是Netty系列第8篇上一篇文章我们深入学习了Netty逻辑架构中的核心组件ChannelHandler和ChannelPipeline,并介绍了它在日常开发使用中的最佳实践。文中也提到了,ChannelHandler主要用于数据输入、输出过程中的加工处理,比如编解码、异常处理等。今天,我们就选取日常开发中最常用的一种ChannelHandler用途来学习——编解码器。如果说ChannelHandler的学习是Netty的基础招式,那么编解码就是“基础招式”中衍生出的“常用招式“,我们往.原创 2021-10-08 21:56:46 · 409 阅读 · 0 评论 -
Netty基础招式——ChannelHandler的最佳实践
本文是Netty系列第7篇上一篇文章我们深入学习了Netty逻辑架构中的核心组件EventLoop和EventLoopGroup,掌握了Netty的线程模型,并且介绍了Netty4线程模型中的无锁串行化设计。今天,我们继续学习Netty逻辑架构中的另一个核心组件ChannelHandler和ChannelPipeline。如果说线程模型是Netty的“核心内功”,那么ChannelHandler就是Netty最著名的“武功招式”,是我们日常使用Netty时接触最多的组件。引用...原创 2021-08-09 14:11:18 · 464 阅读 · 0 评论 -
深入Netty逻辑架构,从Reactor线程模型开始
本文是Netty系列第6篇上一篇文章我们从一个Netty的使用Demo,了解了用Netty构建一个Server服务端应用的基本方式。并且从这个Demo出发,简述了Netty的逻辑架构,并对Channel、ChannelHandler、ChannelPipeline、EventLoop、EventLoopGroup等概念有了初步的认识。回顾一下逻辑架构图。今天主要是深入学习下逻辑架构中的EventLoop 和 EventLoopGroup,掌握Netty的线程模型,这是Netty最精髓的知识点之.原创 2021-06-17 13:19:06 · 209 阅读 · 3 评论 -
从一个Demo开始,揭开Netty的神秘面纱
本文是Netty系列第5篇上一篇文章我们对于I/O多路复用、Java NIO包 和 Netty 的关系有了全面的认识。到目前为止,我们已经从I/O模型出发,逐步接触到了Netty框架。这个过程中,基本解答了Netty是什么、为什么使用Netty等前置问题。给我们学习Netty提供了最原始的背景知识。有了这些做基础,下面我们可以开始慢慢去揭开Netty的神秘面纱了。本文预计阅读时间约 5分钟,将重点围绕以下几个问题展开:如何用Netty编写一个Server端服务Demo从Demo看Netty.原创 2021-04-19 14:11:29 · 171 阅读 · 1 评论 -
从I/O多路复用到Netty,还要跨过Java NIO包
本文是Netty系列第4篇上一篇文章我们深入了解了I/O多路复用的三种实现形式,select/poll/epoll。那Netty是使用哪种实现的I/O多路复用呢?这个问题,得从Java NIO包说起。Netty实际上也是一个封装好的框架,它的网络I/O本质上还是使用了Java的NIO包(New IO,不是网络I/O模型的NIO,Nonblocking IO)包。所以,从网络I/O模型到Netty,我们还需要了解下Java NIO包。本文预计阅读时间 5 分钟,将重点回答以下几个问题:如何用J.原创 2021-03-23 12:47:27 · 262 阅读 · 1 评论 -
从网络I/O模型到Netty,先深入了解下I/O多路复用
Context1.I/O多路复用模式的实现2. select3. poll4. epoll4.1 epoll的三个核心函数4.2 epoll的实现原理4.3 epoll中有使用共享内存吗?5.三种实现对比本文是Netty系列第3篇上一篇文章我们了解了Unix标准的5种网络I/O模型,知道了它们的核心区别与各自的优缺点。尤其是I/O多路复用模型,在高并发场景下,有着非常好的优势。而Netty也采用了I/O多路复用模型。那Netty是如何实现I/O多路复用的呢?Netty实际上也是一个封装好的框架,原创 2021-02-09 09:51:56 · 301 阅读 · 1 评论 -
没搞清楚网络I/O模型?那怎么入门Netty
本文是Netty系列笔记第二篇Netty是网络应用框架,所以从最本质的角度来看,是对网络I/O模型的封装使用。因此,要深刻理解Netty的高性能,也必须从网络I/O模型说起。看完本文,可以回答这三个问题:五种I/O模型是什么?核心区别在哪里?同步=阻塞?异步=非阻塞?Netty的高性能,是采用了哪种I/O模型?1.掌握五种I/O模型的关键钥匙Unix系统下的五种基本I/O模型大家应该都有所耳闻,分为:blocking I/O(同步阻塞IO,BIO)nonblocking I/O.原创 2021-01-18 10:25:20 · 213 阅读 · 0 评论 -
打算写一些Netty的文章了,先聊聊为什么要学习Netty
2021年了,终于开始系统性总结Netty相关的东西了。这会是Netty系列的第一篇,我想先聊聊 “为什么要学习Netty”。绕不开的编程框架Java进阶之梯面试“绝招”一个小小的心结1.绕不开的框架说到Netty,相信所有做Java后端开发的同学都应该听说过。这是一个再经典不过、且仍然被广泛使用的网络编程框架。就我接触过并看过源码的开源项目,可以说基本上都是使用Netty作为网络通信的底层框架,包括Dubbo、RocketMQ、Canal、otter、HBase等等。所以,我始终认原创 2021-01-11 19:14:44 · 617 阅读 · 1 评论