向南是个万人迷

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2019年1月2日

摘要: Netty源码分析第七章: Netty源码分析 第二节: MessageToByteEncoder 同解码器一样, 编码器中也有一个抽象类叫MessageToByteEncoder, 其中定义了编码器的骨架方法, 具体编码逻辑交给子类实现 解码器同样也是个handler, 将写出的数据进行截取处理, 阅读全文
posted @ 2019-01-02 13:45 向南是个万人迷 阅读(1375) 评论(0) 推荐(0) 编辑

摘要: Netty源码分析第七章: 编码器和写数据 概述: 上一小章我们介绍了解码器, 这一章我们介绍编码器 其实编码器和解码器比较类似, 编码器也是一个handler, 并且属于outbounfHandle, 就是将准备发出去的数据进行拦截, 拦截之后进行相应的处理之后再次进发送处理, 如果理解了解码器, 阅读全文
posted @ 2019-01-02 12:04 向南是个万人迷 阅读(1012) 评论(0) 推荐(0) 编辑

2019年1月1日

摘要: Netty源码分析第六章: 解码器 第四节: 分隔符解码器 基于分隔符解码器DelimiterBasedFrameDecoder, 是按照指定分隔符进行解码的解码器, 通过分隔符, 可以将二进制流拆分成完整的数据包 同样继承了ByteToMessageDecoder并重写了decode方法 我们看其 阅读全文
posted @ 2019-01-01 22:56 向南是个万人迷 阅读(639) 评论(0) 推荐(0) 编辑

摘要: Netty源码分析第六章: 解码器 第三节: 行解码器 这一小节了解下行解码器LineBasedFrameDecoder, 行解码器的功能是一个字节流, 以\r\n或者直接以\n结尾进行解码, 也就是以换行符为分隔进行解析 同样, 这个解码器也继承了ByteToMessageDecoder 首先看其 阅读全文
posted @ 2019-01-01 22:45 向南是个万人迷 阅读(558) 评论(0) 推荐(0) 编辑

摘要: Netty源码分析第六章: 解码器 第二节: 固定长度解码器 上一小节我们了解到, 解码器需要继承ByteToMessageDecoder, 并重写decode方法, 将解析出来的对象放入集合中集合, ByteToMessageDecoder中可以将解析出来的对象向下进行传播, 这一小节带大家剖析一 阅读全文
posted @ 2019-01-01 22:32 向南是个万人迷 阅读(717) 评论(0) 推荐(0) 编辑

摘要: Netty源码分析第六章: 解码器 概述: 在我们上一个章节遗留过一个问题, 就是如果Server在读取客户端的数据的时候, 如果一次读取不完整, 就触发channelRead事件, 那么Netty是如何处理这类问题的, 在这一章中, 会对此做详细剖析 之前的章节我们学习过pipeline, 事件在 阅读全文
posted @ 2019-01-01 22:29 向南是个万人迷 阅读(2530) 评论(0) 推荐(1) 编辑

摘要: Netty源码分析第五章: ByteBuf 第十节: SocketChannel读取数据过程 我们第三章分析过客户端接入的流程, 这一小节带大家剖析客户端发送数据, Server读取数据的流程: 首先温馨提示, 这一小节高度耦合第三章的第1, 2节的内容, 很多知识这里并不会重复讲解, 如果对之前的 阅读全文
posted @ 2019-01-01 20:34 向南是个万人迷 阅读(1928) 评论(5) 推荐(0) 编辑

摘要: Netty源码分析第五章: ByteBuf 第九节: ByteBuf回收 之前的章节我们提到过, 堆外内存是不受jvm垃圾回收机制控制的, 所以我们分配一块堆外内存进行ByteBuf操作时, 使用完毕要对对象进行回收, 这一小节, 就以PooledUnsafeDirectByteBuf为例讲解有关内 阅读全文
posted @ 2019-01-01 20:22 向南是个万人迷 阅读(1012) 评论(0) 推荐(0) 编辑

摘要: Netty源码分析第五章: ByteBuf 第八节: subPage级别的内存分配 上一小节我们剖析了page级别的内存分配逻辑, 这一小节带大家剖析有关subPage级别的内存分配 通过之前的学习我们知道, 如果我们分配一个缓冲区大小远小于page, 则直接在一个page上进行分配则会造成内存浪费 阅读全文
posted @ 2019-01-01 20:05 向南是个万人迷 阅读(971) 评论(1) 推荐(0) 编辑

摘要: Netty源码分析第五章: ByteBuf 第六节: page级别的内存分配 前面小节我们剖析过命中缓存的内存分配逻辑, 前提是如果缓存中有数据, 那么缓存中没有数据, netty是如何开辟一块内存进行内存分配的呢?这一小节带大家进行剖析: 剖析之前首先简单介绍netty内存分配的大概数据结构: 之 阅读全文
posted @ 2019-01-01 19:26 向南是个万人迷 阅读(897) 评论(0) 推荐(0) 编辑