ByteBuf的分类(等同:Netty的内存类别有哪些?)
- 堆内和堆外:堆内基于Byte字节数组进行分配,堆外基于JDK的directByteBuf进行分配
- Safe和Unsafe:Unsafe通过反射JDK的UnSafe对象获取物理内存地址进行分配,safe通过JDK的API进行读写
- pooled和unpooled:unpooled每次分配内存都直接申请内存,pooled是预先分配好一整块内存,通过算法取出连续内存进行分配
分配PooledByteBuf的步骤
//略,待补上
不同规格的PooledByteBuf内存分配和释放
//略,待补上
如何减少多线程内存分配之间的竞争(类似:ThreadLocal)
多线程分配内存.png
不同大小内存如何进行分配
//略,待补上