(六) 图解netty内存池的核心分配算法—PoolArena/PoolChunk/PoolSubpage


在前两篇文章: (四) netty内存池:技术概要
(五) netty内存池:分配器PooledByteBufAllocator和内存池字节缓冲的表示
做了netty内存池方面的不少铺垫,这篇打算来把核心的分配算法都讲完,本文的结构是,先讲内存分配涉及到的各个数据结构,再分别讲各个内存粒度的分配算法,主要是huge粒度的直接分配方式,normal粒度的buddy分配算法,small和tiny粒度的slab分配算法。但是从缓冲分配会简单略过,下一篇文章专门细讲从缓冲分配。

1. PoolArena

PoolArena涉及到内存分配算法执行的主要属性如下:

    private final PoolSubpage<T>[] tinySubpagePools;
    private final PoolSubpage<T>[] smallSubpagePools;

    private final PoolChunkList<T> q050;
    private final PoolChunkList<T> q025;
    private final PoolChunkList<T> q000;
    private final PoolChunkList<T> qInit;
    private final PoolChunkList<T> q075;
    private final PoolChunkList<T> q100;

实例化之后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值