- 博客(7)
- 资源 (5)
- 收藏
- 关注
原创 Netty学习之旅------源码分析Netty线程本地分配机制与PooledByteBuf线程级对象池原理分析
在讲上篇Netty内存分配的时候,没有考虑本地线程的缓存,也就是Netty在分配内存时,首先尝试从线程本地缓存中去申请,如果申请失败,才从全局分配。本章就重点分析线程缓存相关的实现。首先我们将目光投向PooledByteBufAllocato的final PoolThreadLocalCachethreadCache;该类实现的机制类似ThreadLocal,我们重点看一下1、Poole...
2017-01-24 17:28:00 2992
原创 Netty学习之旅----源码分析内存分配与释放原理
Netty 内存分配优先从线程本地缓冲池中分配,然后才是从 PoolChunk 中分配。线程池缓存的不仅是使用的内存,比如分配的内存区域(PoolSubpage),PooledByteBuf 对象本身也被缓存,关于本地线程分配缓存,下文会有专题进行研究与学习。1、源码分析Netty内存分配(不考虑线程本地分配)1.1 入口方法:PooledByteBufAllocator#newHeapB...
2017-01-23 11:29:12 5352 4
原创 Netty学习之旅:源码分析Netty内存池分配基础数据结构(PoolArena、PoolChunk、PoolSubpage)
1、Netty 内存分配基础数据结构Netty 预先申请一大块连续的内存(用 PoolArena 类表示),然后每一 PoolArena 包含一系列的 Chunk, 用 PoolChunk 表示,然后每一个 Chunk 包含一列的 PoolSubpage,每个 PoolSubpage 由大小相等的块(Region)组成,每个 PoolSubpage 块大小由第一次从 PoolSubpage申请...
2017-01-18 10:15:08 4883 3
原创 Netty学习之旅----源码分析Netty内存泄漏检测
1、图说Netty直接内存管理2、Netty 直接内存的使用示例 ByteBuf buf = Unpooled.directBuffer(512); System.out.println(buf); // SimpleLeakAwareByteBuf(UnpooledUnsafeDirectByteBuf(ridx: 0, wid...
2017-01-08 12:56:47 6934
原创 Netty学习之旅----ByteBuf源码解读之初探UnpooledHeapByteBuf、UnpooledDirectByteBuf
首先,我们再看一下 ByteBuf 的类设计图,从中更进一步了解ByteBuf。ByteBuf 继承自 ReferenceCounted,引用计数,也就是说 ByteBuf 的内存回收使用的是引用计数器来实现。UnpooledHeapByteBuf 是非池化的堆内存实现,而 UnpooledDirectByteBuf 是非池化的堆外内存(直接内存)。非池化的ByteBuf 就是利用完之...
2017-01-05 11:14:13 9991 2
原创 Netty 学习之旅:ByteBuf 篇之 ByteBuf 内部结构与 API 学习
1、原生 ByteBuffer、ByteBuf 内部结构设计首先我们来回顾一下 java.nio.ByteBuffe r的内部结构设计。ByteBuffer 内部持有一个 byte[] bt, 再加上 position、limit、capacity、mark 四个属性。position 当前可用操作的位置,调用 get() 方法,返回 bt[postion] 处的值,如果是调用 pu...
2017-01-02 17:44:15 10279 1
原创 源码分析Netty系列
Netty源码研究专题(Netty源码学习之旅)目录1、ByteBuf内存篇1.1 ByteBuf内部结构与API学习 博文地址:http://blog.csdn.net/prestigeding/article/details/539807901.2 源码学习UnpooledHeapByteBuf、UnpooledDirectByteBuf 博文地址:http...
2017-01-02 12:56:36 16883 12
rocketmq实战与源码分析.zip
2021-03-13
Netty实现私有协议,模仿dubbo单一长连接RPC服务调用,心跳检测机制源码
2017-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人