38、Netty源码分析:ByteBufAllocator

ByteBufAllocator

在channel的配置类中有一个属性allocator,我们知道netty有自己的缓冲区,可以使用该缓存分配器来分配所需的缓存。在config类中默认使用ByteBufAllocator.DEFAULT,它的初始化过程如下:

*

在开始分析PooledByteBufAllocator的构造函数之前先看下它的类结构图:

*

接下来看下它的属性:

*

它的功能是分配内存,根据所调用的方法来分配所需类型的缓存,可以是堆内缓存,可以是直接内存缓存,也可以是复合类型:
*

ByteBufAllocator的属性中看到了两个陌生类:PoolArenaPoolThreadLocalCache,在具体分析ByteBufAllocator分配内存的方法之前需要先了解这两个类,在接下来的文章中会先分析这两个类。

每天坚持一点点,每天进步一点点。

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: