所有类和接口

说明
 
用于为字段或类型等定义别名
用于标注接口/方法还不稳定
滑动式双端队列 1.当达到容量限制时,将自动移除另一端的元素。
Java不是真泛型,不能直接定义ArrayPool, 不过对于IO操作而言,绝大多数情况下使用字节数组的池就可以。
该接口表示实现类是基于缓存时间戳的,需要外部定时去更新 线程安全性取决于实现类
大小写模式
 
常量
 
只有可通过基础的Builder构建的常量才会使用到Factory
由于ConstantPool是可变的,这使得有些查询是高开销的,比如:ConstantPool.values()
常量池
参考自Netty的实现
对象池的默认实现
迭代期间延迟压缩空间的List,在迭代期间删除元素只会清理元素,不会减少size,而插入元素会添加到List末尾并增加size 1.不支持插入Null -- 理论上做的到,但会导致较高的复杂度,也很少有需要。
 
有界双端队列的溢出策略
 
轻量枚举 相对于Enum.ordinal()Enum.name(),我们自定义的EnumLite.getNumber()会更加稳定。
实现类应该保持为不可变
 
用于返回一个错误码结果,Rpc底层会对此做特殊支持
异常工具类
可扩展的对象。
在元素身上存储了索引信息的集合。
被索引的元素 1.索引信息存储在元素上,可大幅提高查找效率; 2.如果对象可能存在多个集合中,慎重实现该接口,更建议为每个集合设置一个粘合对象;
参考自netty的实现 由于Collection中的API是基于Object的,不利于查询性能,添加了一些限定类型的方法。
死循环预防
该注解注解的类/方法表示为内部实现,外部不要使用
基于ThreadLocal的简单buffer池
基于ThreadLocal的Builder池
用于标注目标接口为标记接口
 
如果一个异常实现了该接口,那么当其被捕获时,我们并不为其自动记录日志。
简单对象池 (其实acquire和release是比较合适的命名; rent和return通常也是一对)
一些基础的扩展
使用Boolean类型容易忘记检查null
这里包含了一些我们常用的前置条件检查,没有做太多的优化。
用于配置目标的优先级
 
用于标识一个只读在完成初始化以后是只读的,即:安全发布后可用于多线程访问
 
频率调节器 - 可理解为轮询式Timer调度器。
对象池对象的重置策略。
只缓存单个对象对象池 相比直接使用共享对象,使用该缓存池可避免递归调用带来的bug
用于数据量较少的情况下,避免较大的初始容量
用于标注关联的源文件 保留策略修改为Runtime,我们可以在运行时查找关联的类,从而进行动态绑定
用于标识方法或字段等的名字是稳定的(或应该保持稳定) 通常是为生成的代码服务
用于标记一个类是有状态的
用于标记一个类是无状态的,也就是线程安全的
停表 -- 用于监测每一步的耗时和总耗时。
 
修改自StringWriter
 
主要封装与时区相关的方法
增量式计时器,需要外部每帧调用Timepiece.update(long)累积时间
时间提供者,用户外部获取时间 线程安全性取决于具体实现
 
时间工具类 -- 以毫秒为基本单位。
泛型参数具体类型查找器。
类型参数匹配器
用于表述某个元素的开放权限仅用于测试