netty
hdy7237024855
这个作者很懒,什么都没留下…
展开
-
Java NIO中,关于DirectBuffer,HeapBuffer的疑问?转自知乎
Java NIO中,关于DirectBuffer,HeapBuffer的疑问?https://www.zhihu.com/question/57374068转载 2020-05-11 22:02:21 · 272 阅读 · 0 评论 -
NIO中Buffer之position,limit,capacity的初始化、运行记录
1、初始化:capacity为最后一个位置的的下一个虚拟位置,limit也是和capacity一样的位置,position为第一个要读的位置的索引位置1。2、读入2个元素:position指向第三个。3、flip方法被调用,limit指向上次读的position的位置,position指向第0个元素,写入2个元素后,position指向第三个位置。直到和limit的位置相等。4、如果再调用flip方法,limit指向上次写的position的位置,position指向第0个元素。可参考ht.原创 2020-05-10 18:25:01 · 227 阅读 · 0 评论 -
Netty涉及的设计模式以及示例
装饰器模式 io流相关的FilterInputStream 就是个装饰器。什么都不做,委托给内部的InputStream成员对象参考https://blog.csdn.net/zhousenshan/article/details/77825290 https://blog.csdn.net/qq_37909508/article/details/90722126 ...原创 2020-05-10 17:32:52 · 253 阅读 · 0 评论 -
Netty的InternalThreadLocalMap的fastGet和slowGet
在看Netty的DefaultChannelPromoise的setSucess方法跟踪代码时,跟踪到了DefaultPromise的 notifyListeners()方法获取当前线程的静态方法,根据当前的线程是否属于Netty的FastThreadLocalThread来判断,一个是 fast 的,一个 是 slow 的fast和slow的实现逻辑如下,获取当...原创 2020-05-08 17:12:17 · 278 阅读 · 0 评论 -
Netty杂记
ChannelInitializer的initChannel()方法当Channel被注册的时候调用。当方法返回的时候将被从Channel的ChannelPipeLine移除。原创 2020-05-04 10:28:10 · 404 阅读 · 0 评论 -
Reactor模式以及在Netty中的角色方法对应分析
在看张龙讲解netty的Reactor模式的视频后,记录其中的内容,便于以后查看。Reactor模式最早提出是在一篇论文中。Doug Lea大神在《Scalable IO in Java》一书中给了更全面的解释。两者的角色有相通之处。在左图中,Reactor模式设计5个角色。1:Initiation Dispatcher(初始分发器):实际上就是Reactor的角色,制定了一些规范...原创 2020-05-02 15:12:24 · 200 阅读 · 0 评论 -
Netty动态分配数据缓冲区实现类AdaptiveRecvByteBufAllocator
构造方法,缓冲区大小从1024开始,最小不小于64,最大不大于65536静态代码块做初始化,存储可分配弹性缓冲区的大小,从小到大,每次取可以根据前一次分配大小做动态调整,如果前一次分配缓冲区的较多,下一次会优雅的相应减少缓冲区大小...原创 2020-04-15 22:23:22 · 1110 阅读 · 0 评论 -
ServerBootstrap.bind()方法初始化Channel4.1.4X版本和4.1.31之前版本的区别
低版本在往options和attrs putAll的时候做了加锁,此时的options和attrs是一个LinkedHashMap。而在4.1.4X的时候options和attrs是一个ConCurrentHashMap。具体是4.1.几改动不太清楚了。今天看讲解的时候发现的,做个笔记...原创 2020-04-09 20:10:32 · 200 阅读 · 0 评论