![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
netty
文章平均质量分 77
大江大河大12138
这个作者很懒,什么都没留下…
展开
-
Netty池化内存理解:Recycler
我们上几篇文章分析了池化内存的使用:PoolChunk和PoolSubPage我们通过代码看到了池化内存后将一些信息都记录到了ByteBuf的实现类上。在allocat()方法之前都会调用newByteBuf()返回一个实例,那个在这个过程干了什么呢,我们需要也了解下。PooledDirectByteBuf.newInstance(maxCapacity)我们还是以PooledDirectByteBuf为例:static PooledDirectByteBuf newInstance(int max原创 2021-11-03 14:50:08 · 284 阅读 · 0 评论 -
Netty池化内存理解:PoolArea
日常推荐:Netty PoolArea原理探究我们继续带着问题去看这部分。PoolArea在netty中是如何使用的1.PooledByteBufAllocator在PooledByteBufAllocator类中有对应的PoolArena数组,此数组时与线程数相关的,目的是为了减少在多线程分配内存时线程竞争。public static final PooledByteBufAllocator DEFAULT = new PooledByteBufAllocator(Pl原创 2021-10-31 22:49:52 · 362 阅读 · 0 评论 -
Netty池化内存理解:PoolChunk和PoolSubPage
日常推荐:Netty PoolArea原理探究Netty PoolChunk原理探究这两篇文章我觉得可以很好的帮助理解池化内存一些相关内容。这个池化内存我们是如何使用的呢?1.首先来到NioSocketChannle 读取数据部分:if ((readyOps & (SelectionKey.OP_READ | SelectionKey.OP_ACCEPT)) != 0 || readyOps == 0) { unsafe.read(); }//NioByteUn原创 2021-10-31 20:19:28 · 191 阅读 · 0 评论 -
Netty中自研的FastThreadLocal、FastThreadLocalThread的使用
netty觉得java中的ThreadLocal不好用,于是就又搞了一套类似的“产品”:「FastThreadLocal」,你还可以发现其他几个定义:PoolThreadLocalCache,PoolThreadCache,FastThreadLocalThread,InternalThreadLocalMap,一套组合拳下来,直呼厉害的同时,也晕了。其他这些都是和「ThreadLocal」类似的一些定义。FastThreadLocal和 ThreadLocal 相关的对比PoolThreadLoca原创 2021-10-28 21:09:05 · 482 阅读 · 0 评论 -
看Netty对粘包半包问题的理解
只要看到netty相关的内容,总会出现对粘包半包等问题疑惑。开发这么久的web服务,也没看到tomcat内部有这部分逻辑呀?难道是netty搞复杂了?寻遍全网以及和大佬的求证,肤浅的解答一下自己的疑惑:1.Http协议的作用tomcat作为web服务器,一般都通过http协议进行通信。根绝http协议的定义,通过请求行、请求头、消息体等定义可以很方便解析到对应数据,因此我们只需要在传输层解析到对应的数据结构即可。看netty对http协议的支持,也可以在代码中看到encoder/decoder的设置。大原创 2021-07-16 20:38:38 · 105 阅读 · 0 评论