java笔记——netty相关
ww0peo
这个作者很懒,什么都没留下…
展开
-
2019.8.22笔记——Reactor模型
单线程reactorattachwakeup使下一次selector的select方法立即返回可以让刚加入的事件加入监听就是唤醒select阻塞,刷新监听的事件多线程reactor主从reactor...原创 2019-11-16 13:55:24 · 136 阅读 · 0 评论 -
2019.8.20笔记——NIO
堆外内存 操作系统的内存堆内内存 在JVM管理的内存 在使用时需要先拷贝到堆外 性能较差allocateDirect创建的是堆外内存allocate创建的是堆内wrap创建的源数据和buffer之间会相互影响selector有bug jdk的bug可能出现空轮询select有参数轮询参数时间没参数就会一直阻塞到有事件触发selectNow立刻轮询一次,不阻塞...原创 2019-11-04 22:00:42 · 126 阅读 · 0 评论 -
2019.8.18笔记——BIO和NIO
BIO输入流输出流redisresp协议aofAPI层客户端层协议层NIO没有流的概念bufferselectorchannel原创 2019-11-04 22:00:25 · 125 阅读 · 0 评论 -
2019.8.25笔记——netty入门
ByteBuf三个指针0 <= readIndex <= writeIndex <= capacity分成三个区域读过可读可写可以自动扩容pipelineInboundOutbound各自有自己的顺序粘包拆包就是客户端做分包处理,加上总长度发到服务端,服务端就根据那个总长来做粘包处理,应该是这样,返回写数据的时候就反过来...原创 2019-10-02 21:15:24 · 188 阅读 · 0 评论 -
2019.8.27笔记——netty应用
处理器(Handler)生命周期回调函数一个特殊的group存储着每一个客户端和服务端连接产生的socketchannel,不过需要手动添加socketchannel,但是当通道关闭后会自动删除group里的通道聊天室特殊处理器基于分隔符的解码器心跳检测RPC远程调用...原创 2019-10-03 16:39:46 · 205 阅读 · 0 评论 -
2019.9.8笔记——netty解码器源码分析
FixedLengthFrameDecoder长度解码器传递的参数是接收数据的长度只有指定长度的数据才能接收ByteToMessage解码器的抽象类如果没有达到解码的条件会保存这一次的数据知道满足解码条件,并把新老的数据组合并向下传递如果没有满足条件就向下传递空的数据LineBasedFrameDecoder基于换行的解码器如果超过最大长度就会直接丢弃数据并抛异常,还会设置为丢...原创 2019-10-04 23:00:00 · 131 阅读 · 0 评论 -
2019.9.10笔记——netty解码器源码分析
DelimiterBasedFrameDecoder这是一个基于分隔符的解码器,并且可以自定义分隔符第一个参数是能够接收数据的最大长度,后面的可变参数是分隔符,可以传递多个。DelimiterBasedFrameDecoder delimiterBasedFrameDecoder = new DelimiterBasedFrameDecoder(10, Unpooled.wr...原创 2019-10-05 22:50:40 · 152 阅读 · 0 评论