Netty源码分析(ByteBuf)
文章平均质量分 58
HryReal
while(!dead) { study(); }
展开
-
ByteBuf主要继承关系图
对他们的源码分析在下一篇文章~~原创 2017-05-25 12:54:36 · 16009 阅读 · 0 评论 -
ByteBuf的源码分析
1.类的声明public abstract class ByteBuf implements ReferenceCounted, Comparable { } 由于它是抽象类,实现了ReferenceCounted类,因此它具有了计数器的功能,还有比较的功能,具体的实现交给子类@Overridepublic abstract int compareTo(ByteBuf buffer);@Ove原创 2017-05-25 13:53:13 · 16310 阅读 · 0 评论 -
AbstractByteBuf源码分析
1.成员变量 static final ResourceLeakDetector<ByteBuf> leakDetector = new ResourceLeakDetector<ByteBuf>(ByteBuf.class); int readerIndex; int writerIndex; private int markedReaderIndex; privat原创 2017-05-25 15:13:10 · 15735 阅读 · 0 评论 -
AbstractReferenceCountedByteBuf源码分析
1.成员变量 private static final AtomicIntegerFieldUpdater<AbstractReferenceCountedByteBuf> refCntUpdater; static { AtomicIntegerFieldUpdater<AbstractReferenceCountedByteBuf> updater =原创 2017-05-25 16:20:40 · 15604 阅读 · 1 评论 -
UnpooledHeadByteBuf源码分析
1.简单介绍1.UnpooledHeadByteBuf简介 UploadedHeadByteBuf是基于堆内存进行内存分配的字节缓存区,他没有基于对象池的技术实现,意味着每次io的读写都会创建一个新的UnpooledHeadByteBuf,频繁进行大块内存的分配和回收对性能会造成一定的影响,但是相比于堆外内存的申请和释放,他的成本低一点。相比于PooledHeadbyteBuf原创 2017-05-25 22:59:45 · 938 阅读 · 0 评论 -
UnpooledDirectByteBuf源码分析
1.1成员变量private final ByteBufAllocator alloc;private ByteBuffer buffer;private ByteBuffer tmpNioBuf;private int capacity;private boolean doNotFree;1.2构造方法 protected UnpooledDirectByteBuf(ByteBufAllo原创 2017-05-25 23:22:38 · 972 阅读 · 0 评论 -
PooledByteBuf源码分析
1.成员变量先来看一下PooledByteBuf的类声明abstract class PooledByteBuf<T> extends AbstractReferenceCountedByteBuf 为什么要加模版呢? 他的一个成员protected T memory;由于不知道的T是什么数据类型,所以定义了模板类可以从他的字类中看出来final class PooledDirectByteBuf原创 2017-05-26 09:21:28 · 1017 阅读 · 0 评论 -
PooledDirectByteBuf源码分析
1.简单介绍终于到达食物链顶端了,感觉很开心,PooledDirectByteBuf基于内存池的实现,与UnPooledDirectByteBufd的唯一不同是缓存区的分配和销毁策略的不同,其他功能是等同的。2.创建实例 RECYCLE实际上是一个RECYCLeR的实例 private static final Recycler<PooledDirectByteBuf> RECYCLER = ne原创 2017-05-26 09:42:27 · 1313 阅读 · 0 评论