![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Netty框架
文章平均质量分 92
天天打码,天天进步!
祖母绿宝石
程序员
展开
-
Netty_05_六种序列化方式(JavaIO序列化 XML序列化 Hessian序列化 JSON序列化 Protobuf序列化 AVRO序列化)(实践类)
各种各种的序列化方式原创 2022-12-10 09:44:36 · 684 阅读 · 0 评论 -
Netty_06_手写RPC基础版(实践类)
netty实现rpc(基础版)原创 2022-12-11 10:59:18 · 372 阅读 · 0 评论 -
Netty_04_消息协议设计与实战(实践类)
Netty自定义消息格式原创 2022-12-10 23:01:22 · 289 阅读 · 0 评论 -
Netty_03_ByteBuf和网络中拆包粘包问题及其解决
Netty原创 2022-12-10 20:24:24 · 1176 阅读 · 0 评论 -
Netty_02_高性能的NIO框架
Nettynetty就是背好八股文就好了Netty和NIO的api对应TransportChannel ----对应NIO中的channelEventLoop---- 对应于NIO中的while循环EventLoopGroup: 多个EventLoop,就是事件循环ChannelHandler和ChannelPipeline—对应于NIO中的客户逻辑实现handleRead/handleWrite(intercept.原创 2022-12-10 15:26:29 · 477 阅读 · 0 评论 -
Netty_01_分布式架构中的网络通信
8.1.1. Netty 原理Netty 是一个高性能、异步事件驱动的 NIO 框架,基于 JAVA NIO 提供的 API 实现。它提供了对TCP、UDP 和文件传输的支持,作为一个异步 NIO 框架,Netty 的所有 IO 操作都是异步非阻塞的,通过 Future-Listener 机制,用户可以方便的主动获取或者通过通知机制获得 IO 操作结果。8.1.2. Netty 高性能...原创 2020-04-05 17:25:55 · 2637 阅读 · 1 评论 -
Netty重点原理概要(原理类)
文章目录干货1:从Linux五种IO到Netty?(刚开始,一定要从底层源头上说,拉高逼格)干货2:从Socket网络编程到Netty?(刚开始,一定要从底层源头上说,拉高逼格)2、为什么要用 Netty?1、Netty 是什么?2、为什么要用 Netty?3、Netty 应用场景了解么?4、Netty 核心组件有哪些?分别有什么作用?5、EventloopGroup 了解么?和 EventLoop 啥关系?6、Bootstrap 和 ServerBootstrap 了解么?7、NioEven原创 2020-08-19 22:55:03 · 619 阅读 · 0 评论 -
Netty源码_01_Netty服务端初始化
文章目录一、前言二、demo:服务端启动2.1 demo2.1 demo中的每一行代码三、Netty源码解析:服务端初始化3.1 bind()方法:initAndRegister() + doBind0()3.2 初始化和注册:initAndRegister()3.2.1 initAndRegister()方法:newChannel() + init(channel)3.3.2 initAndRegister()第一步:newChannel()工厂模式新建一个channel3.3.2.1 新建一个Refle原创 2020-08-23 21:21:35 · 1193 阅读 · 0 评论 -
Netty源码_02_Netty中的Reactor源码解析
netty最核心的就是reactor线程,对应项目中使用广泛的NioEventLoop,那么NioEventLoop里面到底在干些什么事?netty是如何保证事件循环的高效轮询和任务的及时执行?又是如何来优雅地fix掉jdk的nio bug?带着这些疑问,本篇文章将庖丁解牛,带你逐步了解netty reactor线程的真相[源码基于4.1.6.Final]reactor 线程的启动NioEventLoop的run方法是reactor线程的主体,在第一次添加任务的时候被启动NioEventLoop 父原创 2020-08-23 15:26:20 · 1278 阅读 · 0 评论 -
Netty源码_03_Pipleline组件源码解析(一)
文章目录一、前言二、pipeline 初始化三、pipeline添加节点DefaultChannelPipeline类中的addLast()方法源码解析:Netty添加节点的时候,从源码层面区分一个 ChannelHandlerContext到底是in还是out3.1 checkMultiplicity()源码解析:检查是否有重复handler,先校验3.2 newContext()源码解析:创建节点3.2.1 前奏:filterName()处理名称3.2.2 newContext()创建context3.原创 2020-08-24 20:48:12 · 1128 阅读 · 0 评论 -
Netty源码_04_Pipleline组件源码解析(二)
文章目录一、前言二、Unsafe到底是干什么的2.1 初识Unsafe2.2 Unsafe整个继承结构(7个类)2.2.1 UnSafe接口(重点)2.2.2 NioUnSafe接口-略2.2.3 AbstractUnsafe类-略2.2.4 AbstractNioUnsafe类-略2.2.5 NioSocketChannelUnsafe类和NioByteUnsafe类-重点2.3 Unsafe的分类2.3.1 NioByteUnsafe中的读:委托到外部类NioSocketChannel2.3.2 Nio原创 2020-08-25 15:22:19 · 619 阅读 · 0 评论 -
Netty源码_05_新连接接入源码解析
文章目录一、前言二、基本概念2.1 netty中的reactor线程(金手指)2.2 服务端启动三、问题1:Netty如何处理新连接的建立?3.1 检测到有新连接进入3.2 注册到reactor线程3.2.1 doReadMessages(List) 读缓存读入逻辑3.2.2 pipeline.fireChannelRead(NioSocketChannel) pipeline读入逻辑小结一、前言相关问题1:netty如何接受新的请求?相关问题2:netty如何给新请求分配reactor线程?相原创 2020-08-24 14:04:38 · 408 阅读 · 0 评论