ByteBuf的源码分析

1.类的声明

public abstract class ByteBuf implements ReferenceCounted, Comparable {
}
由于它是抽象类,实现了ReferenceCounted类,因此它具有了计数器的功能,还有比较的功能,具体的实现交给子类

@Override
public abstract int compareTo(ByteBuf buffer);

@Override
public abstract ByteBuf retain(int increment);

@Override
public abstract ByteBuf retain();

@Override
public abstract ByteBuf touch();

@Override
public abstract ByteBuf touch(Object hint);

@Override
public abstract int compareTo(ByteBuf buffer);

@Override
public boolean release();

@Override
public boolean release(int decrement);

//compareTo比较函数,retain将计数器增加,release将计数器减少,touch记录当前可写内存的位置,用于debug

2.其他有用的函数

由于它只是一个抽象类,所以他的方法都交给了子类去实现,理解这些函数的功能能让我们更好地了解他的字类。

2.1 Bytebuf的基本信息

ByteBuf的源码分析_第1张图片
capacity()返回或设置容量,alloc()返回分配ByteBuf的分配器
order()返回或设置字节顺序对象ByteOrder等等

2.2 读写的信息

ByteBuf的源码分析_第2张图片

包括返回,设置,是否可读可写的信息等等

2.3 读操作簇

ByteBuf的源码分析_第3张图片

2.4写操作簇

ByteBuf的源码分析_第4张图片

2.5内存图解

ByteBuf的源码分析_第5张图片
ByteBuf的源码分析_第6张图片
ByteBuf的源码分析_第7张图片
ByteBuf的源码分析_第8张图片
ByteBuf的源码分析_第9张图片

2.6 查找操作

ByteBuf的源码分析_第10张图片
各种对ByteBuf的查找方法,用得着的时候看一下就可以了。

2.7 三类视图

ByteBuf的源码分析_第11张图片
ByteBuf的源码分析_第12张图片

ByteBuf的简单介绍和api的分类就这么简单,具体的实现还要看下面的字类,辛苦的工作还在后头!

你可能感兴趣的:(ByteBuf的源码分析)