All Classes and Interfaces

Class
Description
工具包集合,工具类快捷方式
值作为集合的Map实现,通过调用putValue可以在相同key时加入多个值,多个值用集合表示
抽象转换器,提供通用的转换逻辑,同时通过convertInternal实现对应类型的专属逻辑 转换器不会抛出转换异常,转换失败时会返回null
抽象的对象拷贝封装,提供来源对象、目标对象持有
合并元素抽象类
抽象的Map.Entry实现,来自Guava 实现了默认的AbstractEntry.equals(Object)AbstractEntry.hashCode()AbstractEntry.toString()方法 默认AbstractEntry.setValue(Object)抛出异常
抽象Bloom过滤器
 
泛型变量和泛型实际类型映射关系缓存
执行一个接一个的转换程序序列 执行结束时 第一个转换器使用输入中的代码点
加解密算法类型
用于字段、方法、参数等提供别名
对齐方式枚举
ALL逻辑复合过滤器,即所有过滤器都满足的时候才满足, 只要有一个过滤器不满足就立刻返回不满足, 如果没有过滤器的时候则认为所有过滤器都满足
日期计算类
注解工具类 快速获取注解对象、注解值等工具封装
注解代理 通过代理指定注解,可以自定义调用注解的方法逻辑,如支持Alias 注解
组合注解 对JDK的原生注解机制做一个增强,支持类似Spring的组合注解 核心实现使用了递归获取指定元素上的注解以及注解的注解,以实现复合注解的获取
ANSI 8-bit前景或背景色(即8位编码,共256种颜色(2^8) ) 0-7: 标准颜色(同ESC [ 30–37 m) 8-15: 高强度颜色(同ESC [ 90–97 m) 16-231(6 × 6 × 6 共 216色): 16 + 36 × r + 6 × g + b (0 ≤ r, g, b ≤ 5) 232-255: 从黑到白的24阶灰度色
ANSI背景颜色枚举
ANSI标准颜色
ANSI可转义节点接口,实现为ANSI颜色等
生成ANSI格式的编码输出
ANSI文本样式风格枚举
ANT风格路径过滤器
ANT风格路径资源加载器
ANY逻辑复合过滤器,即任意一个过滤器满足时就满足,当没有过滤器的时候则认为没有过滤器满足,也就是不满足
排列A(n, m) 排列相关类
数组转换器,包括原始类型数组
实现一个Iterator 任何数组的迭代器 数组可以是对象数组,也可以是基元数组 如果你知道 class是更好的选择,因为它会表现得更好 迭代器实现了一个ArrayIterator.reset()方法,允许重置 如果需要,迭代器返回到开始
数组工具类
数组类型的Get接口
ASCII字符对应的字符串缓存
断言 断言某些对象或值是否符合规定,否则抛出异常 经常用于做变量检查
将类或方法标记为异步
当一个“public void”方法被注释为“@Async”时, 框架会通过添加一个新方法作为原始方法的副本(名称) 来增强类是调用原始方法的结果
此超时使用后台线程在超时发生时精确地执行操作 用它来 在本地不支持超时的地方实现超时,例如对阻塞的套接字操作.
AtomicBoolean转换器
 
无锁实现
自定义异常: 认证异常
Base16(Hex)编码解码器 十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:A~F即10~15) 例如十进制数57,在二进制写作111001,在16进制写作39
Base32 - encodes and decodes RFC3548 Base32 (see http://www.faqs.org/rfcs/rfc3548.html ) base32就是用32(2的5次方)个特定ASCII码来表示256个ASCII码 所以,5个ASCII字符经过base32编码后会变为8个字符(公约数为40),长度增加3/5.不足8n用“=”补足 see http://blog.csdn.net/earbao/article/details/44453937
Base32 - encodes and decodes RFC4648 Base32 (see https://datatracker.ietf.org/doc/html/rfc4648#section-6 ) base32就是用32(2的5次方)个特定ASCII码来表示256个ASCII码 所以,5个ASCII字符经过base32编码后会变为8个字符(公约数为40),长度增加3/5.不足8n用“=”补足 根据RFC4648 Base32规范,支持两种模式: Base 32 Alphabet (ABCDEFGHIJKLMNOPQRSTUVWXYZ234567) "Extended Hex" Base 32 Alphabet (0123456789ABCDEFGHIJKLMNOPQRSTUV)
Base32解码器
Bas32编码器
Base58工具类,提供Base58的编码和解码方案 参考: https://github.com/Anujraval24/Base58Encoding 规范见:https://en.bitcoin.it/wiki/Base58Check_encoding
Base58编码器 此编码器不包括校验码、版本等信息
Base58解码器
Base58编码器
Base62工具类,提供Base62的编码和解码方案
Base62编码解码实现,常用于短URL From https://github.com/seruco/base62
Base62解码器
Base62编码器
Base64工具类,提供Base64的编码和解码方案 base64编码是用64(2的6次方)个ASCII字符来表示256(2的8次方)个ASCII字符, 也就是三位二进制数组经过编码后变为四位的ASCII字符显示,长度比原来增加1/3
基本变量类型的枚举 基本类型枚举包括原始类型和包装类型
基本类型的getter接口 提供一个统一的接口定义返回不同类型的值(基本类型)
BCD码(Binary-Coded Decimal)亦称二进码十进数或二-十进制代码 BCD码这种编码形式利用了四个位元来储存一个十进制的数码, 使二进制和十进制之间的转换得以快捷的进行
Bean属性缓存 缓存用于防止多次反射造成的性能问题
Bean转换器,支持:
Bean拷贝,提供:
Bean信息描述做为BeanInfo替代方案 此对象持有Bean中的setters和getters等相关信息描述 查找Getter和Setter方法时会:
Bean工具类 把一个拥有对属性进行set和get方法的类
修饰符枚举
Bean属性拷贝到Bean中的拷贝器
Bean属性拷贝到Map中的拷贝器
日期间隔
属性绑定器
用于绑定的注解
BitMap接口,用于将某个int或long值映射到一个数组中,从而判定某个值是否存在
BlommFilter 实现 1.构建hash算法 2.散列hash映射到数组的bit位置 3.验证 此实现方式可以指定Hash算法
BloomFilter实现方式2,此方式使用BitSet存储 Hash算法的使用使用固定顺序,只需指定个数即可
当任务队列过长时处于阻塞状态,直到添加到队列中,如果阻塞过程中被中断,就会抛出InterruptedException异常 有时候在线程池内访问第三方接口,只希望固定并发数去访问,并且不希望丢弃任务时使用此策略,队列满的时候会处于阻塞状态(例如刷库的场景)
Bloom filter 是由 Howard Bloom 在 1970 年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员 如果检测结果为是,该元素不一定在集合中;但如果检测结果为否,该元素一定不在集合中,因此Bloom filter具有100%的召回率 这样每个检测请求返回有“在集合内(可能错误)”和“不在集合内(绝对不在集合内)”两种情况
布隆过滤器工具
读取带BOM头的流内容,getCharset()方法调用后会得到BOM头的编码,且会去除BOM头 00 00 FE FF = UTF-32, big-endian FF FE 00 00 = UTF-32, little-endian EF BB BF = UTF-8 FE FF = UTF-16, big-endian FF FE = UTF-16, little-endian 使用: String enc = "UTF-8"; // or NULL to use systemdefault FileInputStream fis = new FileInputStream(file); BOMInputStream uin = new BOMInputStream(fis, enc); enc = uin.getCharset(); // check and skip possible BOM bytes
读取带BOM头的流内容的Reader,如果非bom的流或无法识别的编码,则默认UTF-8 BOM定义:http://www.unicode.org/unicode/faq/utf_bom.html 00 00 FE FF = UTF-32, big-endian FF FE 00 00 = UTF-32, little-endian EF BB BF = UTF-8 FE FF = UTF-16, big-endian FF FE = UTF-16, little-endian 使用: FileInputStream fis = new FileInputStream(file); BOMReader uin = new BOMReader(fis);
布尔转换器
Boolean类型相关工具类
日期范围
佛历
佛历因果犯忌
内存中字节的集合.
 
ByteBuffer 工具类 此工具来自于 t-io 项目以及其它项目的相关部分收集 ByteBuffer的相关介绍见:https://www.cnblogs.com/ruber/p/6857159.html
一种接收器,它在内部保存缓冲区, 以便调用者可以进行小的写操作没有性能损失
内部保存一个缓冲区,以便调用者可以在没有性能的情况下进行少量读取 它还允许客户端提前读取,在消费之前进行必要的缓冲输入
建造者模式
 
自定义异常: 业务异常
byte 类型数组转换器
由字节数组段组成的不可变字节字符串 该类的存在是为了实现 缓冲区的有效快照 它被实现为一个段数组,加上一个目录 两个半部分,描述段如何组成这个字节字符串
对数字和字节进行转换 假设数据存储是以大端模式存储的: byte: 字节类型 占8位二进制 00000000 char: 字符类型 占2个字节 16位二进制 byte[0] byte[1] int : 整数类型 占4个字节 32位二进制 byte[0] byte[1] byte[2] byte[3] long: 长整数类型 占8个字节 64位二进制 byte[0] byte[1] byte[2] byte[3] byte[4] byte[5] long: 长整数类型 占8个字节 64位二进制 byte[0] byte[1] byte[2] byte[3] byte[4] byte[5] byte[6] byte[7] float: 浮点数(小数) 占4个字节 32位二进制 byte[0] byte[1] byte[2] byte[3] double: 双精度浮点数(小数) 占8个字节 64位二进制 byte[0] byte[1] byte[2] byte[3] byte[4]byte[5] byte[6] byte[7]
基于byte[]的资源获取器 注意:此对象中getUrl方法始终返回null
不可变的字节序列.
凯撒密码实现
日期转换器
调用者接口 可以通过此接口的实现类方法获取调用者、多级调用者以及判断是否被调用
调用者 可以通过此类的方法获取调用者、多级调用者以及判断是否被调用
驼峰Key风格的LinkedHashMap 对KEY转换为驼峰,get("int_value")和get("intValue")获得的值相同,put进入的值也会被覆盖
驼峰Key风格的Map 对KEY转换为驼峰,get("int_value")和get("intValue")获得的值相同,put进入的值也会被覆盖
银行卡工具类
忽略大小写的LinkedHashMap 对KEY忽略大小写,get("Value")和get("value")获得的值相同,put进入的值也会被覆盖
忽略大小写的Map 对KEY忽略大小写,get("Value")和get("value")获得的值相同,put进入的值也会被覆盖
忽略大小写的TreeMap 对KEY忽略大小写,get("Value")和get("value")获得的值相同,put进入的值也会被覆盖
强转转换器
获取ssl证书信息工具类
责任链接口
字符转换器
字符查找器 查找指定字符在字符串中的位置信息
CharSequence资源,字符串做为资源
用于转换文本的API 其核心用途是转义和反转义文本
编码常量
编码对象转换器
字符工具类 部分工具来自于Apache
身份证相关工具类
类转换器 将类名转换为类
Class工具类
 
ClassPath单一资源访问类 传入路径path必须为相对路径,如果传入绝对路径,Linux路径会去掉开头的“/”,而Windows路径会直接报错 传入的path所指向的资源必须存在,否则报错
资源类加载器,可以加载任意类型的资源类
剪贴板监听事件处理接口 用户通过实现此接口,实现监听剪贴板内容变化
剪贴板监听
克隆支持接口
克隆支持类,提供默认的克隆方法
帮助器子类到CharSequenceTranslator 以支持转换一次最多替换一个字符
各种集合类转换器
值作为集合的Map实现,通过调用putValue可以在相同key时加入多个值,多个值用集合表示
集合相关工具类
针对一个参数做相应的操作
Hash计算接口
针对两个参数做相应的操作,例如Map中的KEY和VALUE
组合,即C(n, m) 组合相关类
用于构建 Comparable.compareTo(Object) 方法的辅助工具 在Bean对象中,所有相关字段都参与比对,继承的字段不参与 使用方法如下:
比较器链 此链包装了多个比较器,最终比较结果按照比较器顺序综合多个比较器结果 按照比较器链的顺序分别比较,如果比较出相等则转向下一个比较器,否则直接返回 此类copy from Apache-commons-collections
检测字符强度 来自:https://github.com/venshine/CheckPasswordStrength
字符类型枚举
密码等级枚举
带有计算属性的遍历器 通过继承此抽象遍历器,实现ComputeIterator.computeNext()计算下一个节点,即可完成节点遍历 当调用ComputeIterator.hasNext()时将此方法产生的节点缓存,直到调用ComputeIterator.next()取出 当无下一个节点时,须返回null表示遍历结束
通过ConcurrentHashMap实现的线程安全
命令行(控制台)工具方法类 此类主要针对System.outSystem.err 做封装
 
参数Consumer
参数Consumer
参数Consumer
类型转换器
转换器接口,实现类型转换
日期转换
转换器登记中心,将各种类型Convert对象放入登记中心,通过convert方法查找 目标类型对应的转换器,将被转换对象转换之,在此类中,存放着默认转换器和自定义 转换器,默认转换器预定义的一些转换器,自定义转换器存放用户自定的转换器
转换异常
复制 Iterator为了解决并发情况下Iterator遍历导致的问题,当Iterator 被修改会抛出ConcurrentModificationException),故使用复制原Iterator的方式解决此问题
拷贝接口
设置返回元素的类型
属性拷贝选项 包括: 1、限制的类或接口,必须为目标对象的实现接口或父类,用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类 2、是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入null 3、忽略的属性列表,设置一个属性列表,不拷贝这些属性值
文件拷贝的FileVisitor实现,用于递归遍历拷贝目录
自定义异常: 定时任务执行异常
加解密异常
CsvConfig<T extends CsvConfig<?>>
CSV基础配置项
CSV数据,包括头部信息和行数据
CSV的行处理器,实现此接口用于按照行处理数据
CSV工具
CSV行解析器,参考:FastCSV
CSV读取配置项
CSV文件读取器,参考:FastCSV
CSV中一行的表示
CSV写出配置项
CSV数据写出器
货币Currency 转换器
自定义键的Map,默认HashMap实现
日期转换器
时间工具类
日期基本信息获取接口
日期解析接口,用于解析日期字符串为 Date 对象
时长格式化器
日期格式化输出接口
包装java.util.Date
天/日/Day
解码接口
默认Bloom过滤器,使用Java自带的Hash算法
默认的简单转换器
Deflate算法 Deflate是同时使用了LZ77算法与哈夫曼编码(Huffman Coding)的一个无损数据压缩算法
这种流体的强冲刷可能导致压缩降低 每一个 调用DeflaterSink.flush()立即压缩所有当前缓存的数据; 这种早期压缩可能不如执行的压缩有效
延迟观察者 使用此观察者通过定义一定的延迟时间,解决WatchService多个modify的问题 在监听目录或文件时,如果这个文件有修改操作,会多次触发modify方法 此类通过维护一个Set将短时间内相同文件多次modify的事件合并处理触发,从而避免以上问题
将调用转发给另一个调用的 Timeout.
ExecutorService 代理
委派的资源加载器
将调用转发给另一个调用的Sink
将调用转发给另一个调用的Source
删除操作的FileVisitor实现,用于递归遍历删除文件夹
开发环境 表示当前方法禁止用于生产环境,仅可用于开发测试
诊断工具类
字典对象,扩充了HashMap中的方法
Diff包含两个Differentable类字段之间的差异 通常,Diff通过使用DifferentBuilder来生成 DifferentResult来检索,其中包含两个对象之间的差异.
可以将Diffable类与其他对象进行比较,以了解它们之间的差异。 检索到的DifferentResult对象可以查询差异列表,也可以使用DifferentResult.toString()打印
协助实现Differentable.diff(Object)方法
DiffResult包含两个Differentable对象之间差异的集合。 通常,这些差异是使用DifferentResult.toString()方法显示的, 该方法返回一个字符串,该字符串描述对象之间不同的字段.
自定义异常: 数据被禁用异常
双向Map 互换键值对不检查值是否有重复,如果有则后加入的元素替换先加入的元素 值的顺序在HashMap中不确定,所以谁覆盖谁也不确定,在有序的Map中按照先后顺序覆盖,保留最后的值 它与TableMap的区别是,BiMap维护两个Map实现高效的正向和反向查找
Duplicate<T,C extends Duplicate<T,C>>
复制器抽象类 抽象复制器抽象了一个对象复制到另一个对象,通过实现Copier.copy()方法实现复制逻辑
Duration对象转换器
动态Bean,通过反射对Bean的相关方法做操作 支持Map和普通Bean
DynaBean值提供者
编辑器接口,常用于对于集合中的元素做统一编辑 此编辑器两个作用:
八字
大运
流年
流月
小运
 
编码接口
无泛型检查的枚举转换器
Enumeration对象转Iterator对象
枚举工具类
Object.equals(Object) 方法的构建器 两个对象equals必须保证hashCode值相等 ,hashCode值相等不能保证一定相等
使用这个注释来排除字段被定义在EqualsBuilder 上的各种reflectionEquals方法使用.
HTML/XML/JSON等 ESCAPE信息
转义和反转义工具类Escape / Unescape escape采用ISO Latin字符集对指定的字符串进行编码 Java, Java Script, HTML and XML.
提供转义方法的方便的StringBuilder包装器
 
保证ExecutorService在对象回收时正常结束
自定义异常: 对象已存在异常
代码移植自blade 快速缓冲,将数据存放在缓冲集中,取代以往的单一数组
基于快速缓冲FastByteBuffer的OutputStream,自动扩充缓冲区 可以通过FastByteOutputStream.toByteArray()FastByteOutputStream.toString()来获取数据 避免重新分配内存块而是分配新增的缓冲区,缓冲区不会被GC,数据也不会被拷贝到其他缓冲区
SimpleDateFormat 的线程安全版本 用于解析日期字符串并转换为 Date 对象
SimpleDateFormat 的线程安全版本,用于将 Date 格式化输出
不会抛出IOExceptions的接收器, 即使底层接收器抛出了IOExceptions
Bean字段排序器
日期场景属性
十二时辰枚举,包含英文全称,中文全称,时间范围
日期信息
修改类型
月份枚举 与Calendar中的月份int值对应
季度枚举
日期各个部分的枚举 与Calendar相应值对应
时间单位,每个单位都是以毫秒为基数
星期枚举 与Calendar中的星期int值对应
星座名称枚举,包含英文全称,中文全称,时间范围
文件追加器 持有一个文件,在内存中积累一定量的数据后统一追加到文件 此类只有在写入文件时打开文件,并在写入结束后关闭之 因此此类不需要关闭 在调用append方法后会缓存于内存,只有超过容量后才会一次性写入文件,因此内存中随时有剩余未写入文件的内容,在最后必须调用flush方法将剩余内容刷入文件
文件拷贝器 支持以下几种情况: 1、文件复制到文件 2、文件复制到目录 3、目录复制到目录 4、目录下的文件和目录复制到另一个目录
文件工具类
文件资源加载器
文件读写模式,常用于RandomAccessFile
FileObject 资源包装
读取和写入目标文件
文件读取器
Reader处理接口
文件资源访问对象
访问分层数据存储上的读写文件 大多数调用者应该使用FileSystem.SYSTEM 实现,它使用主机的本地文件系统 备用 实现可用于注入错误(用于测试)或转换存储的数据(用于添加) 例如加密)
文件类型(扩展名)
文件包装器,扩展文件对象
文件写入器
过滤器接口
资源过滤器
包装 Iterator并根据Predicate定义,过滤元素输出 类实现来自Apache Commons Collection
过滤器工具类
字符串查找接口 通过调用Finder.start(int)查找开始位置,再调用Finder.end(int)找结束位置
固定大小的LinkedHashMap 实现 注意此类非线程安全,由于LinkedHashMap.get(Object)操作会修改链表的顺序结构,因此也不可以使用读写锁
Fn<T,R>
只有一个参数的函数对象 一个函数接口代表一个一个函数,用于包装一个函数为对象 在JDK8之前,Java的函数并不能作为参数传递,也不能作为返回值存在 此接口用于将一个函数包装成为一个对象,从而传递对象
 
AWT中字体相关工具类
自定义异常: 权限不足异常
日期格式化器缓存
日期格式化和解析 yyyy-MM-dd HH:mm:ss yyyy-MM-dd HH:mm:ss yyyy-MM-dd HH:mm:ss.SSS yyyy-MM-dd HH:mm:ss.SSSSSS yyyy-MM-dd HH:mm:ss.SSSSSSSSS yyyy-MM-dd'T'HH:mm:ss.SSSZ等等,支持毫秒、微秒和纳秒等精确时间
数学表达式
函数对象 一个函数接口代表一个一个函数,用于包装一个函数为对象 在JDK8之前,Java的函数并不能作为参数传递,也不能作为返回值存在 此接口用于将一个函数包装成为一个对象,从而传递对象
无参数的函数对象 一个函数接口代表一个一个函数,用于包装一个函数为对象 在JDK8之前,Java的函数并不能作为参数传递,也不能作为返回值存在 此接口用于将一个函数包装成为一个对象,从而传递对象
只有一个参数的函数对象 一个函数接口代表一个一个函数,用于包装一个函数为对象 在JDK8之前,Java的函数并不能作为参数传递,也不能作为返回值存在 此接口用于将一个函数包装成为一个对象,从而传递对象
指定函数排序器
自定义函数Key风格的Map
自定义键值函数风格的Map
银河系、天文计算
天文算法和参数数据
气朔计算和参数数据
通用Builder
地理区域坐标距离计算工具类
地理坐标矩形区域
地理坐标圆形
地理坐标点
坐标点类型
地理坐标多边形区域
GIF文件解析 Class GifDecoder - Decodes a GIF file into one or more frames.
动态GIF动画生成器,可生成一个或多个帧的GIF。
全局公共线程池
Graphics相关工具类
基于分组的Get接口
用来标识每个需要加锁的状态变量以及保护该变量的锁 有助于代码的维护与审查,以及一些自动化的分析工具找到潜在的安全性错误
GZIP是用于Unix系统的文件压缩 gzip的基础是DEFLATE
这相当于使用Deflater同步刷新选项 该类不提供任何部分刷新机制 为获得最佳性能, 只在应用程序行为需要时调用GzipSink.flush()
解压读取数据
协助实现Object.hashCode()方法
使用此注释可以排除字段被定义在HashCodeBuilder 上的各种reflectionHashcode方法使用.
Hashids用于从数字(如YouTube和Bitly)生成短散列, 数据库id,将它们用作忘记密码散列、邀请码、存储碎片号
Hashids 协议实现,以实现: 生成简短、唯一、大小写敏感并无序的hash值 自然数字的Hash值 可以设置不同的盐,具有保密性 可配置的hash长度 递增的输入产生的输出无法预测
Hash算法大全 推荐使用FNV1算法
一个接收器,计算它接受的全部字节流的哈希值 若要使用,请创建 使用您首选的哈希算法实例 将所有数据写入接收器,然后调用 HashSink.hash()来计算最终的哈希值
计算其提供的全部字节流的散列的源 若要使用,请创建 使用您首选的哈希算法实例 通过读取源文件的所有字节来耗尽源文件 然后调用HashSource.hash()来计算最终的哈希值
Header 常量
十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:A~F即10~15) 例如十进制数57,在二进制写作111001,在16进制写作39 像java,c这样的语言为了区分十六进制和十进制数值,会在十六进制数的前面加上 0x,比如0x20是十进制的32,而不是十进制的20
 
 
节假日
HTTP 相关常量
HTTP请求异常
ID生成器工具类,此工具类中主要封装:
忽略该属性
跳过所有事件处理Watcher 用户继承此类后实现需要监听的方法
图片元素
图片处理工具类: 功能:缩放图像、切割图像、旋转、图像类型转换 彩色转黑白、文字水印、图片水印等
图片绘制器
图像编辑器
图片转换器,用于将图片对象转换为剪贴板支持的对象 此对象也用于将图像文件和DataFlavor.imageFlavor 元信息对应
不可变类
An immutable pair consisting of two Object elements.
An immutable triple consisting of three Object elements.
按照数组的顺序正序排列,数组的元素位置决定了对象的排序先后 如果参与排序的元素并不在数组中,则排序在前
解压从另一个源读取的数据
注释实现类的成员(构造函数、方法和字段)
基于InputStream的资源获取器 注意:此对象中getUrl方法始终返回null
实例化对象的接口 1.
按照指定类型顺序排序,对象顺序取决于对象对应的类在数组中的位置
自定义异常: 实例化异常
实例化工厂类
实例化工具类 对于 InstanceFactory 的便于使用
自定义异常: 内部处理异常
过滤器BitMap在32位机器上.这个类能发生更好的效果.一般情况下建议使用此类
自定义异常: 无效的范围要求
无效的参数异常
IO拷贝抽象,可自定义包括缓存、进度条等信息 此对象非线程安全
IO工具类 IO工具类只是辅助流的读写,并不负责关闭流 原因是流可能被多次读写,读写关闭后容易造成问题
提供合成接口,共同提供IterableIterator功能
IterableIterator 相关工具类
Jar包资源加载器
外部Jar的类加载器
Java 字节码文件对象管理器 正常我们使用javac命令编译源码时会将class文件写入到磁盘中,但在运行时动态编译类不适合保存在磁盘中 我们采取此对象来管理运行时动态编译类生成的字节码
Java 字节码文件对象,用于在内存中暂存class字节码,从而可以在ClassLoader中动态加载
JavaFileObject 相关工具类封装
Java 源码编译器 通过此类可以动态编译java源码,并加载到ClassLoader,从而动态获取加载的类 JavaSourceCompiler支持加载的源码类型包括: 源码文件 源码文件源码字符串 使用方法如下:
Java 源码文件对象,支持: 源文件,通过文件的uri传入 代码内容,通过流传入
Translates codepoints to their Unicode escaped value suitable for Java source.
任务类
任务类型
 
日历类
用于在输出到CLI表或Excel/CSV等时为字段/getter提供标签.
Lambda相关工具类
将一个单例类标记为惰性初始化, 或者标记为不受立即加载影响的方法(例如,AppConfig中的方法)
函数式懒加载加载器 传入用于生成对象的函数,在对象需要使用时调用生成对象,然后抛弃此生成对象的函数。 此加载器常用于对象比较庞大而不一定被使用的情况,用于减少启动时资源占用问题 继承自LazyLoader,如何实现多线程安全,由LazyLoader完成
持有一个计算延迟的值
固定长度查找器 给定一个长度,查找的位置为from + length,一般用于分段截取
这是避免GC搅动和零填充所必需的 这个池是一个线程安全的静态单例
行处理器
将Reader包装为一个按照行读取的Iterator 此对象遍历结束后,应关闭之,推荐使用方式:
行处理的Watcher实现
换行符枚举 换行符包括:
列表类型的Get接口
值作为集合List的Map实现,通过调用putValue可以在相同key时加入多个值,多个值用集合表示
List对象读写锁
资源加载器,充分采用惰性加载的逻辑, 让资源的加载延后到Enumeration.hasMoreElements() 调用时,避免无用的提前全部预加载
资源加载器工具类
翻译语言枚举
Locale对象转换器 只提供String转换支持
读写拦截锁
Long类型ID生成器,固定为19位长度 根据当前毫秒数和可选的服务器/实例ID生成唯一的数字ID 适合用作分布式应用程序中的数据库主键
过滤器BitMap在64位机器上.这个类能发生更好的效果.一般机器不建议使用
MethodHandles.Lookup工厂,用于创建MethodHandles.Lookup对象 jdk8中如果直接调用MethodHandles.lookup()获取到的MethodHandles.Lookup在调用findSpecial和unreflectSpecial 时会出现权限不够问题,抛出"no private access for invokespecial"异常,因此针对JDK8及JDK9+分别封装lookup方法。
查找替换器,通过查找指定关键字,替换对应的值
查找字符串值的字符串键.
使用查找表转换值
农历日期
三伏 从夏至后第3个庚日算起, 初伏为10天,中伏为10天或20天,末伏为10天。 当夏至与立秋之间出现4个庚日时中伏为10天,出现5个庚日则为20天
农历月
数九
节气
时辰
农历年
Map创建类
Map 转换器
Map相关工具类
Map代理,提供各种getXXX方法,并提供默认值支持
Map属性拷贝到Bean中的拷贝器
Map属性拷贝到Map中的拷贝器
Map对象读写锁
Map包装类,通过包装一个已有Map实现特定功能 例如自定义Key的规则或Value规则
匹配接口
字符匹配查找器 查找满足指定Matcher 匹配的字符所在位置,此类长用于查找某一类字符,如数字等
一个匹配器类,可以查询它来确定一个字符数组是否存在部分匹配 如果这些还不够,您可以子类化并实现自己的匹配器
数学计算 计量标准
HTTP 媒体类型
元注解
方法句柄MethodHandle封装工具类
复合过滤器,实际上内部维护一个过滤器的LinkedHashSet集合,提供添加/删除以及链式拼接的方法来混合多个子过滤器,该过滤器的具体逻辑由子类拓展
单币种货币类,处理货币算术、币种和取整 货币类中封装了货币金额和币种目前金额在内部是long类型表示, 单位是所属币种的最小货币单位(对人民币是分) 目前,货币实现了以下主要功能: 支持货币对象与double(float)/long(int)/String/BigDecimal之间相互转换 货币类在运算中提供与JDK中的BigDecimal类似的运算接口, BigDecimal的运算接口支持任意指定精度的运算功能,能够支持各种 可能的财务规则 货币类在运算中也提供一组简单运算接口,使用这组运算接口,则在 精度处理上使用缺省的处理规则 推荐使用Money,不建议直接使用BigDecimal的原因之一在于, 使用BigDecimal,同样金额和币种的货币使用BigDecimal存在多种可能 的表示,例如:new BigDecimal("10.5")与new BigDecimal("10.50") 不相等,因为scale不等使得Money类,同样金额和币种的货币只有 一种表示方式,new Money("10.5")和new Money("10.50")应该是相等的 不推荐直接使用BigDecimal的另一原因在于, BigDecimal是Immutable, 一旦创建就不可更改,对BigDecimal进行任意运算都会生成一个新的 BigDecimal对象,因此对于大批量统计的性能不够满意Money类是 mutable的,对大批量统计提供较好的支持 提供基本的格式化功能 Money类中不包含与业务相关的统计功能和格式化功能业务相关的功能 建议使用utility类来实现 Money类实现了Serializable接口,支持作为远程调用的参数和返回值 Money类实现了equals和hashCode方法
月/Month
莫尔斯电码的编码和解码
文件移动操作的FileVisitor实现,用于递归遍历移动目录和文件 此类在遍历源目录并移动过程中会自动创建目标目录中不存在的上级目录
多文件组合资源 此资源为一个利用游标自循环资源,只有调用MultiResource.next() 方法才会获取下一个资源,使用完毕后调用MultiResource.reset()方法重置游标
使用ToStringBuilder创建一个“deep”toString。 而是像RecursiveToStringStyle这样的单行, 创建类似ToStringStyle.MULTI_LINE_STYLE的多行字符串。
多资源组合资源 此资源为一个利用游标自循环资源,只有调用MultiResource.next() 方法才会获取下一个资源,使用完毕后调用MultiResource.reset()方法重置游标
Murmur3 32bit、64bit、128bit 哈希算法实现
提供可变值类型接口
可变 boolean 类型
可变 byte 类型
可变 double 类型
可变 float 类型
可变 int 类型
可变 long 类型
可变Object
由两个Object元素组成的可变对
可变 short 类型
由三个Object元素组成的可变三元组
注解命名
 
带有Name标识的 InheritableThreadLocal, 调用toString返回name
线程创建工厂类,此工厂可选配置:
带有Name标识的 ThreadLocal, 调用toString返回name
生成姓名
命名规则封装,主要是针对驼峰风格命名、连接符命名等的封装
NanoId,一个小型、安全、对 URL友好的唯一字符串 ID 生成器,特点: 安全:它使用加密、强大的随机 API,并保证符号的正确分配 体积小:只有 258 bytes 大小(压缩后)、无依赖 紧凑:它使用比 UUID (A-Za-z0-9_~)更多的符号
Jar包资源加载器
网络相关工具
NeuQuant Neural-Net Quantization Algorithm
玄空九星、奇门九星都来源于北斗九星,九数、七色、五行、后天八卦方位都是相通的
节点接口,提供节点相关的的方法定义
树配置属性相关
包装 NodeListIterator 此 iterator 不支持 NodeListIterator.remove() 方法
树节点解析器 可以参考DefaultNodeParser
通用、系统时钟 高并发场景下System.currentTimeMillis()的性能问题的优化 System.currentTimeMillis()的调用比new一个普通对象要耗时的多(具体耗时高出多少我还没测试过,有人说是100倍左右) System.currentTimeMillis()之所以慢是因为去跟系统打了一次交道 后台定时更新时钟,JVM退出时,线程自动回收
计时器 计算某个过程花费的时间,精确到毫秒
默认日历
无锁的读写锁实现
默认常量
 
NormalCompare<E extends Comparable<? super E>>
针对 Comparable对象的默认比较器
自定义异常: 无法找到方法
自定义异常: 对象不存在
自定义异常: 资源不存在
自定义异常: 未初始化异常
线程不安全安全注解
null友好的比较器包装,如果nullGreater,则null > non-null,否则反之 如果二者皆为null,则为相等,返回0 如果二者都非null,则使用传入的比较器排序 传入比较器为null,则看被比较的两个对象是否都实现了Comparable实现则调用Comparable.compareTo(Object) 如果两者至少一个未实现,则视为所有元素相等
此OutputStream写出数据到/dev/null,既忽略所有数据 来自 Apache Commons io
为了解决反射过程中,需要传递null参数,但是会丢失参数类型而设立的包装类
数字转换器 支持类型为: java.lang.Byte java.lang.Short java.lang.Integer java.lang.Long java.lang.Float java.lang.Double java.math.BigDecimal java.math.BigInteger
数字转中文类 包括:
Translates codepoints to their XML numeric entity escaped value.
Translate XML numeric entities of the form &#[xX]?\d+;? to the specific codepoint.
NumericUnescaper option enum.
对象的全局唯一标识符 由12个字节组成,分割如下:
一些通用的函数
Object对象读写锁
Translate escaped octal Strings back to their octal values.
可选默认值的数组类型的Get接口 提供一个统一的接口定义返回不同类型的值(基本类型) 如果值不存在或获取错误,返回默认值
可选默认值的基本类型的getter接口 提供一个统一的接口定义返回不同类型的值(基本类型) 如果值不存在或获取错误,返回默认值
复制jdk16中的Optional,进行了一些调整,比jdk8中的Optional多了几个实用的函数
Optional对象转换器
基本类型的getter接口抽象实现,所有类型的值获取都是通过将getObj获得的值转换而来 用户只需实现getObj方法即可,其他类型将会从Object结果中转换 在不提供默认值的情况下, 如果值不存在或获取错误,返回null
基本类型的getter接口抽象实现,所有类型的值获取都是通过将String转换而来 用户只需实现getStr方法即可,其他类型将会从String结果中转换 在不提供默认值的情况下, 如果值不存在或获取错误,返回null
基本类型的getter接口抽象实现 提供一个统一的接口定义返回不同类型的值(基本类型) 在不提供默认值的情况下, 如果值不存在或获取错误,返回null
排序
ByteBuffer内存页
分页插件异常
 
 
由两个元素组成
分批迭代工具,可以分批处理数据 比如调用其他客户的接口,传入的入参有限,需要分批 比如mysql/oracle用in语句查询,超过1000可以分批 比如数据库取出游标,可以把游标里的数据一批一批处理
字符串转换器
Bean路径表达式,用于获取多层嵌套Bean中的字段值或Bean对象 根据给定的表达式,查找Bean中对应的属性值对象 表达式分为两种: .表达式,可以获取Bean对象中的属性(字段)值或者Map中key对应的值 []表达式,可以获取集合等对象中对应index的值
正则查找器 通过传入正则表达式,查找指定字符串中匹配正则的开始和结束位置
常用正则表达式集合
模式匹配资源加载器
自定义异常: 支付异常
百分号编码(Percent-encoding), 也称作URL编码(URL encoding) 百分号编码可用于URI的编码,也可以用于"application/x-www-form-urlencoded"的MIME准备数据 URI:遵循RFC 3986保留字规范 application/x-www-form-urlencoded,遵循W3C HTML Form content types规范,如空格须转+
Period对象转换器
进程ID单例封装 第一次访问时调用ManagementFactory.getRuntimeMXBean()获取PID信息,之后直接使用缓存值
按照GBK拼音顺序对给定的汉字字符串排序
附加的源和汇。接收器的输出是源的输入。 通常每个线程都由自己的线程访问:生产者线程向接收器写入数据,消费者线程从源读取数据
 
包名表达式资源加载器
插件
原始类型转换器 支持类型为: byte short int long float double char boolean
有界优先队列 按照给定的排序规则,排序元素,当队列满时, 按照给定的排序规则淘汰末尾元素
按值替换字符串中的变量
生产环境 表示当前方法性能安全性各方面达标,可以用于生产环境
Bean属性缓存 缓存用于防止多次反射造成的性能问题
Bean属性排序器 支持读取Bean多层次下的属性
属性描述
配置文件源
Punycode是一个根据RFC 3492标准而制定的编码系统,主要用于把域名 从地方语言所采用的Unicode编码转换成为可用于DNS系统的编码
标识qualifier注解
从方法返回多个对象的便利类
 
队列InputStream
从方法返回多个对象的便利类
 
 
随机工具类
范围生成器。根据给定的初始值、结束值和步进生成一个步进列表生成器 由于用户自行实现Range.Steper来定义步进, 因此Range本身无法判定边界(是否达到end),需在step实现边界判定逻辑
步进接口,此接口用于实现如何对一个对象按照指定步进增加步进 步进接口可以定义以下逻辑:
ReaderWriter 拷贝
 
 
矩形元素
矩形绘制器
使用ToStringBuilder创建一个"deep" toString
Reference转换器
线程安全的ReferenceMap实现 参考:jdk.management.resource.internal.WeakKeyConcurrentHashMap
主要针对Reference 工具化封装 主要封装包括:
引用类型
协助实现Differentable.diff(Object)方法.
使用反射帮助实现Object.toString()方法
反射工具类.
正则表达式
正则表达式过滤器
正则表达式资源加载器
线程拒绝策略枚举
自定义异常: 未受检异常
图片背景识别处理、背景替换、背景设置为矢量图 根据一定规则算出图片背景色的RGB值,进行替换
替换器 通过实现此接口完成指定类型对象的替换操作,替换后的目标类型依旧为指定类型
字符串替换链,用于组合多个字符串替换逻辑
支持重置的Iterator 接口 通过实现ResettableIterator.reset(),重置此Iterator后可实现复用重新遍历
资源接口定义 资源可以是文件、URL、ClassPath中的文件亦或者jar包中的文件
资源加载器
 
反转比较器
自定义异常: 无法找到方法
 
将行的键作为主键的Table实现 此结构为: 行=(列=值)
 
系统运行时工具类 用于执行系统命令的工具
缩放常量信息
渐变方向
图片缩略模式
图片缩略类型
类扫描器
定时任务注解
注释用于确定作用域的注释.
 
方式获取调用者
缓冲区的一段 缓冲区中的每个段都是一个循环链表节点,它引用以下内容和 缓冲区中前面的段 池中的每个段都是一个单链列表节点,引用池 段的底层字节数组可以在缓冲区和字节字符串之间共享 当一个 段不能回收,也不能改变它的字节数据 唯一的例外是允许所有者段附加到段中,写入数据 limit及以上 每个字节数组都有一个单独的拥有段 的立场, 限制、prev和next引用不共享
带有信号量控制的Runnable 接口抽象实现
值作为集合Set(LinkedHashSet)的Map实现,通过调用putValue可以在相同key时加入多个值,多个值用集合表示
Set对象读写锁
自定义异常: 签名异常
文本相似度计算,局部敏感hash,用于海量文本去重 局部敏感hash定义:假定两个字符串具有一定的相似性, 在hash之后,仍然能保持这种相似性,就称之为局部敏感hash
简单缓存,无超时实现,使用WeakMap实现缓存自动清理
简单Collector接口实现
空白WatchListener 用户继承此类后实现需要监听的方法
当您希望仅对该绑定的所有注入重用一个实例时,将此应用于实现类
接收一个字节流 使用这个接口可以在任何地方编写数据 需要:到网络、存储器或内存中的缓冲区 水槽可以分层 转换接收到的数据,如压缩、加密、节流或添加协议框架 BufferSink.outputStream()使一个接收器适应outputStream
分布式自增Id生成器(基于Twitter的Snowflake算法实现分布式高效有序ID)
自定义异常: Socket异常
阳历日期
阳历月
阳历季度
阳历半年
阳历周
阳历年
提供一个字节流 使用此接口从任何地方读取数据 它的位置:来自网络、存储或内存中的缓冲区 来源可能 分层以转换提供的数据,例如解压、解密或移除协议框架
启用框架扩展和替换组件,服务提供发现机制, 实现方制定接口并完成对接口的实现
字符串切分迭代器 此迭代器是字符串切分的懒模式实现,实例化后不完成切分,只有调用ComputeIterator.hasNext()或遍历时才完成切分 此迭代器非线程安全
通过StackTrace方式获取调用者 此方式效率最低,不推荐使用
StackTraceElement 转换器 只支持Map方式转换
使用ToStringBuilder创建toString
标准的资源加载器
秒表封装 此工具用于存储一组任务的耗时时间,并一次性打印对比 使用方法如下:
存放任务名称和花费时间对象
 
 
Stream进度条
字符串转换器
字符查找器
 
字符串处理类
剪贴板字符串内容监听
 
 
字符串资源,字符串做为资源
 
参数Supplier
两个参数的Supplier
3参数Supplier
参数Supplier
参数Supplier
屏幕/鼠标/剪贴板/截屏 显示器等相关工具
标点符号常量
线程同步结束器 在完成一组正在其他线程中执行的操作之前, 它允许一个或多个线程一直等待 不能保证同时开始
系统常量
表格数据结构定义 此结构类似于Guava的Table接口,使用两个键映射到一个值,类似于表格结构
单元格,用于表示一个单元格的行、列和值
无重复键的Map
文件内容跟随器,实现类似Linux下"tail -f"命令功能
命令行打印的行处理器
道历
道历节日
JDK8中新加入的java.time包对象解析转换器 支持的对象包括:
提供比StringBuffer更灵活和更强大的API
文本元素
文本查找抽象类
字符串格式化工具
字符连接器(拼接器),通过给定的字符串和多个元素,拼接为一个字符串
null处理的模式
可复用的字符串生成器,非线程安全
字符串模式匹配,使用${XXXXX}作为变量
文本绘制器
抽象字符串替换类 通过实现replace方法实现局部替换逻辑
字符串切分器,封装统一的字符串分割静态方法
ThreadFactory创建器
线程池工具
 
线程安全注解 1.此注解放在类上,标识当前类为线程安全的 2.此注解放在方法上,标识方法是线程安全的
 
在放弃一项任务之前要花多少时间的策略 当一个任务 超时时,它处于未指定的状态,应该被放弃 例如,如果从源读取超时,则应关闭该源并 稍后应重试读取 如果向接收器写入超时,也是一样 适用规则:关闭洗涤槽,稍后重试
TimeZone转换器
自定义异常: 令牌过期
提供默认值的Map
协助实现Object.toString()方法
使用这个注释来排除字段被ReflectionToStringBuilder使用.
Controls String formatting for ToStringBuilder.
在使用ReflectionToStringBuilder时, 在字段上使用这个注释来获得摘要,而不是详细信息.
日志追溯
使用给定的转换函数,转换源集合为新类型的集合
使用给定的转换函数,转换源Spliterator为新类型的Spliterator
转换迭代器
自定义键和值转换的的Map 继承此类后,通过实现TransitionMap.customKey(Object)TransitionMap.customValue(Object),按照给定规则加入到map或获取值。
通过转换器将你的实体转化为TreeNodeMap节点实体 属性都存在此处,属性有序,可支持排序
树构建器
树工具类 提供通用树生成,特点: 1、每个字段可自定义 2、支持排序 树深度配置,自定义转换器等 3、支持额外属性扩展 4、贴心 许多属性,特性都有默认值处理 5、使用简单 可一行代码生成树 6、代码简洁轻量无额外依赖
树节点 每个属性都可以在NodeConfig中被重命名 在你的项目里它可以是部门实体、地区实体等任意类树节点实体 类树节点实体: 包含key,父Key.不限于这些属性的可以构造成一颗树的实体对象
由三个元素组成的三元组 这个类是一个定义基本API的抽象实现 表示元素为'left'、'middle'和'right'.
类型转换接口函数,根据给定的值和目标类型,由用户自定义转换规则。
ParameterizedType 接口实现,用于重新定义泛型类型
针对 Type 的工具类封装 最主要功能包括:
Type类型参考 通过构建一个类型参考子类,可以获取其泛型参数中的Type类型
自定义异常: 未受检异常
Translates codepoints to their Unicode escaped value.
Translates escaped Unicode values of the form \\u+\d\d\d\d back to Unicode.
Helper subclass to CharSequenceTranslator to remove unpaired surrogates.
唯一键的Set 通过自定义唯一键,通过UniqueKeySet.uniqueGenerator生成节点对象对应的键作为Map的key,确定唯一 此Set与HashSet不同的是,HashSet依赖于Object.equals(Object)确定唯一 但是很多时候我们无法对对象进行修改,此时在外部定义一个唯一规则,即可完成去重
URI对象转换器
URL相关工具
URL中Path部分的封装
URL中查询字符串部分的封装,类似于:
枚举,用于标识每个URI组件允许的字符.
URL资源访问类
URL对象转换器
提供通用唯一识别码(universally unique identifier)(UUID)实现,UUID表示一个128位的值 此类拷贝自java.util.UUID,用于生成不带-的UUID字符串 这些通用标识符具有不同的变体 此类的方法用于操作 Leach-Salz 变体,不过构造方法允许创建任何 UUID 变体(将在下面进行描述) 变体 2 (Leach-Salz) UUID 的布局如下: long 型数据的最高有效位由以下无符号字段组成:
UUID对象转换器转换器
自定义异常: 验证异常
字段验证器
值提供者,用于提供Bean注入时参数对应值得抽象接口 继承或匿名实例化此接口 在Bean注入过程中,Bean获得字段名,通过外部方式根据这个字段名查找相应的字段值,然后注入Bean
ValueProvider属性拷贝到Bean中的拷贝器
配置注解,用于添加前缀
用于识别当前版本号和版权声明! Version is Licensed under the MIT License, Version 3.0.0 (the "License")
版本比较器 比较两个版本的大小 排序时版本从小到大排序,既比较时小版本在前,大版本在后 支持如:1.3.20.8,6.82.20160101,8.5a/8.5c等版本形式
自定义异常: 版本异常
VFS资源封装 参考:org.springframework.core.io.VfsUtils
虚拟ByteBuffer缓冲区
函数对象 一个函数接口代表一个一个函数,用于包装一个函数为对象 在JDK8之前,Java的函数并不能作为参数传递,也不能作为返回值存在 此接口用于将一个函数包装成为一个对象,从而传递对象
函数对象 一个函数接口代表一个一个函数,用于包装一个函数为对象 在JDK8之前,Java的函数并不能作为参数传递,也不能作为返回值存在 此接口用于将一个函数包装成为一个对象,从而传递对象
函数对象 一个函数接口代表一个一个函数,用于包装一个函数为对象 在JDK8之前,Java的函数并不能作为参数传递,也不能作为返回值存在 此接口用于将一个函数包装成为一个对象,从而传递对象
 
 
观察者(监视器)
观察者链 用于加入多个观察者
监听工具类 主要负责文件监听器的快捷创建
路径监听器 监听器可监听目录或文件 如果监听的Path不存在,则递归创建空目录然后监听此空目录 递归监听目录时,并不会监听新创建的目录
文件监听服务,此服务可以同时监听多个路径
线程安全的WeakMap实现 参考:jdk.management.resource.internal.WeakKeyConcurrentHashMap
Web root资源访问对象
权重随机算法实现
带有权重的对象包装
包装当前会话分配到的虚拟Buffer,提供流式操作方式
XML工具类 此工具使用w3c dom工具,不需要依赖第三方包 工具类封装了XML文档的创建、读取、写出和部分XML操作
年/Year
Zip文件拷贝的FileVisitor实现,zip中追加文件,此类非线程安全 此类在遍历源目录并复制过程中会自动创建目标目录中不存在的上级目录
压缩工具类
Zip文件或流读取器,一般用于Zip文件解压
Zip生成封装
时区计算
ZoneIdTimeZone相关封装