[Netty源码分析]ByteBuf(总结)

ByteBuf的分类(等同:Netty的内存类别有哪些?)

  1. 堆内和堆外:堆内基于Byte字节数组进行分配,堆外基于JDK的directByteBuf进行分配
  2. Safe和Unsafe:Unsafe通过反射JDK的UnSafe对象获取物理内存地址进行分配,safe通过JDK的API进行读写
  3. pooled和unpooled:unpooled每次分配内存都直接申请内存,pooled是预先分配好一整块内存,通过算法取出连续内存进行分配

分配PooledByteBuf的步骤

//略,待补上

不同规格的PooledByteBuf内存分配和释放

//略,待补上

如何减少多线程内存分配之间的竞争(类似:ThreadLocal)


[Netty源码分析]ByteBuf(总结)_第1张图片
多线程分配内存.png

不同大小内存如何进行分配
//略,待补上

你可能感兴趣的:([Netty源码分析]ByteBuf(总结))