All Classes and Interfaces

Class
Description
Bean描述抽象类
超时和限制大小的缓存的默认实现 继承此抽象缓存需要: 创建一个新的Map 实现 prune 策略
童限计算抽象
MultiValueMap的基本实现
抽象转换器,提供通用的转换逻辑,同时通过convertInternal实现对应类型的专属逻辑 转换器不会抛出转换异常,转换失败时会返回null 抽象转换器的默认逻辑不适用于有泛型参数的对象,如Map、Collection、Entry等。
抽象的对象拷贝封装,提供来源对象、目标对象持有
抽象的Map.Entry实现,来自Guava 实现了默认的AbstractEntry.equals(Object)AbstractEntry.hashCode()AbstractEntry.toString()方法。
文件缓存,以解决频繁读取文件引起的性能问题
抽象Bloom过滤器
Apache 发布的MetroHash算法抽象实现,是一组用于非加密用例的最先进的哈希函数。
字符串模板-占位符-抽象 SectionBuffer
抽象服务加载器,提供包括路径前缀、服务类、类加载器、编码、安全相关持有
泛型变量和泛型实际类型映射关系缓存
签名算法类型 see: https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#Signature
模式 加密算法模式,是用来描述加密算法(此处特指分组密码,不包括流密码)在加密时对明文分组的模式,它代表了不同的分组方式
Cipher模式的枚举封装
别名注解,使用此注解的字段、方法、参数等会有一个别名,用于Bean拷贝、Bean转Map等。
ALL逻辑复合过滤器,即所有过滤器都满足的时候才满足, 只要有一个过滤器不满足就立刻返回不满足, 如果没有过滤器的时候则认为所有过滤器都满足
年鉴
类型: 已存在异常
动物
注解工具类 快速获取注解对象、注解值等工具封装
AnnotatedElement工具类,提供对层级结构中AnnotatedElement上注解及元注解的访问支持, 并提供诸如基于Alias的属性别名、基于父子注解间的属性值覆盖等特殊的属性映射机制支持。
用于增强注解的包装器
代理注解处理器,用于为AnnotationMapping生成代理对象,当从该代理对象上获取属性值时, 总是通过AnnotationMapping.getResolvedAttributeValue(String, Class)获取。
表明注解是一个合成的注解
注解代理 通过代理指定注解,可以自定义调用注解的方法逻辑,如支持Alias 注解
ANSI标准颜色
ANSI 4bit 颜色和Lab颜色映射关系
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 8bit 颜色和Lab颜色映射关系
ANSI可转义节点接口,实现为ANSI颜色等
ANSI文本样式风格
ANSI颜色和Lab颜色的对应查找表
ANT风格路径过滤器
ANT风格路径资源加载器
Ant风格的路径匹配器。
Tests whether a string matches against a pattern via a Pattern.
The default Comparator implementation returned by AntPathMatcher.getPatternComparator(String).
ANY逻辑复合过滤器,即任意一个过滤器满足时就满足,当没有过滤器的时候则认为没有过滤器满足,也就是不满足
https 域名校验,信任所有域名 注意此类慎用,信任全部可能会有中间人攻击风险
KeyManager相关工具 此工具用于读取和使用数字证书、对称密钥等相关信息
TrustManager 信任管理器,默认信任所有客户端和服务端证书 注意此类慎用,信任全部可能会有中间人攻击风险
同时继承Writer和实现Appendable的聚合类,用于适配两种接口操作
排列A(n, m) 排列组合相关类 参考:http://cgs1999.iteye.com/blog/2327664
按照数组的顺序正序排列,数组的元素位置决定了对象的排序先后 默认的,如果参与排序的元素并不在数组中,则排序在前(可以通过atEndIfMiss设置)
数组转换器,包括原始类型数组
数组Iterator对象
数组工具类
Array检查工具类,提供字对象的blank和empty等检查 empty定义:null or 空字对象:"" blank定义:null or 空字对象:"" or 空格、全角空格、制表符、换行符,等不可见字符
数组包装,提供一系列数组方法
ASCII字符对应的字符串缓存
断言 断言某些对象或值是否符合规定,否则抛出异常。
将操作转发给另一个 Sink 的抽象接收器。
将调用转发给另一个调用的Source
将调用转发给另一个调用的 Timeout.
将类或方法标记为异步
当一个“public void”方法被注释为“@Async”时, 框架会通过添加一个新方法作为原始方法的副本(名称) 来增强类是调用原始方法的结果
CompletableFuture异步工具类 CompletableFuture 是 Future 的改进,可以通过传入回调对象,在任务完成后调用之
此超时使用后台线程在超时发生时精确地执行操作 用它来 在本地不支持超时的地方实现超时,例如对阻塞的套接字操作.
AtomicBoolean转换器
原子引用加载器 使用AtomicReference 实懒加载,过程如下
类型: 认证异常
列表分区或分段 通过传入分区个数,将指定列表分区为不同的块,每块区域的长度均匀分布(个数差不超过1)
Base16(Hex)编码解码器 十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:A~F即10~15)。
Base32 - encodes and decodes RFC4648 Base32 (see https://datatracker.ietf.org/doc/html/rfc4648#section-6 ) base32就是用32(2的5次方)个特定ASCII码来表示256个ASCII码。
Base32解码器
Bas32编码器
Base32 - encodes and decodes RFC4648 Base32 (see https://datatracker.ietf.org/doc/html/rfc4648#section-6 ) base32就是用32(2的5次方)个特定ASCII码来表示256个ASCII码。
Base58工具类,提供Base58的编码和解码方案 参考: https://github.com/Anujraval24/Base58Encoding 规范见:https://en.bitcoin.it/wiki/Base58Check_encoding
Base58解码器
Base58编码器
Base58编码器 此编码器不包括校验码、版本等信息
Base62工具类,提供Base62的编码和解码方案
Base62解码器
Base62编码器
Base62编码解码实现,常用于短URL From https://github.com/seruco/base62
Base64工具类,提供Base64的编码和解码方案 base64编码是用64(2的6次方)个ASCII字符来表示256(2的8次方)个ASCII字符, 也就是三位二进制数组经过编码后变为四位的ASCII字符显示,长度比原来增加1/3。
Base64解码实现 此解码保留的原因是,JDK提供的解码需要指定是否为URL安全的或是否换行,此解码无需区分此解码对非Base64字符忽略
基本变量类型的枚举 基本类型枚举包括原始类型和包装类型
Bean属性缓存 缓存用于防止多次反射造成的性能问题
Bean转换器,支持:
Bean拷贝,提供:
Bean信息描述做为BeanInfo替代方案,此对象持有JavaBean中的setters和getters等相关信息描述 查找Getter和Setter方法时会:
Bean描述信息工厂类 通过不同的类和策略,生成对应的BeanDesc,策略包括: 当类为Record时,生成RecordBeanDesc 当类为普通Bean时,生成StrictBeanDesc
Bean异常
Bean工具类
Bean的Map接口实现 通过反射方式,将一个Bean的操作转化为Map操作
Bean路径表达式,用于获取多层嵌套Bean中的字段值或Bean对象 根据给定的表达式,查找Bean中对应的属性值对象。
Bean属性拷贝到Bean中的拷贝器
Bean属性拷贝到Map中的拷贝器
本类是用于构建树的工具类,特点是采取lambda,以及满足指定类型的Bean进行树操作 Bean需要满足三个属性: 包含不为null的主键(例如id) 包含容许为null的关联外键(例如parentId) 包含自身的子集,例如类型为List的children 本类的构建方法是通过BeanTree.of 进行构建,例如:
Bean值提供器
神兽
日期间隔
可序列化的BiConsumer接口,支持异常抛出和多个消费者组合。
可序列化的BiFunction接口,支持异常抛出和函数组合。
双向Map 互换键值对不检查值是否有重复,如果有则后加入的元素替换先加入的元素 值的顺序在HashMap中不确定,所以谁覆盖谁也不确定,在有序的Map中按照先后顺序覆盖,保留最后的值 它与TableMap的区别是,BiMap维护两个Map实现高效的正向和反向查找
可序列化的BinaryOperator接口,支持异常抛出和基于比较器的最大最小值操作。
属性绑定器
用于绑定的注解
可序列化的BiPredicate接口,支持异常抛出和逻辑组合操作。
通过位运算表示状态的工具类 参数必须是 `偶数` 且 `大于等于0`
Blob转String
当任务队列过长时处于阻塞状态,直到添加到队列中 如果阻塞过程中被中断,就会抛出InterruptedException异常 有时候在线程池内访问第三方接口,只希望固定并发数去访问,并且不希望丢弃任务时使用此策略,队列满的时候会处于阻塞状态(例如刷库的场景) 其他系统内置的拒绝策略,见定义的枚举 RejectPolicy 线程拒绝策略枚举.
Bloom filter 是由 Howard Bloom 在 1970 年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员。
读取带BOM头的流内容,getCharset()方法调用后会得到BOM头的编码,且会去除BOM头 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 使用: 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类型相关工具类
边界对象,描述具有特定上界或下界的单侧无界的区间。
日期范围
有边界限制的集合,边界集合有最大容量限制
指定边界大小的List 通过指定边界,可以限制List的最大容量
有界优先队列 按照给定的排序规则,排序元素,当队列满时,按照给定的排序规则淘汰末尾元素(去除末尾元素)
参考GuavaRange实现,用于描述作为上下界的两个Bound实例围成的一段区间。
边界区间的操作工具,如子区间、合并区间等
边界类型枚举
内存中字节的集合.
不安全的游标
ByteBufferCharBuffer工具类 此工具来自于 t-io 项目以及其它项目的相关部分收集 ByteBuffer的相关介绍见:https://www.cnblogs.com/ruber/p/6857159.html
缓冲接收器接口,提供高效的写操作,内部维护缓冲区以减少性能开销。
内部保存一个缓冲区,以便调用者可以在没有性能的情况下进行少量读取 它还允许客户端提前读取,在消费之前进行必要的缓冲输入
建造者模式接口定义
类型: 业务异常
由字节数组段组成的不可变字节字符串 该类的存在是为了实现 缓冲区的有效快照 它被实现为一个段数组,加上一个目录 两个半部分,描述段如何组成这个字节字符串
对数字和字节进行转换。
Byte Order Mark (BOM) 头描述 BOM定义:http://www.unicode.org/unicode/faq/utf_bom.html EF BB BF = UTF-8 FE FF = UTF-16BE, big-endian FF FE = UTF-16LE, little-endian 00 00 FE FF = UTF-32BE, big-endian FF FE 00 00 = UTF-32LE, little-endian
基于byte[]的资源获取器 注意:此对象中getUrl方法始终返回null
不可变的字节序列
缓存接口
缓存工具类
缓存监听,用于实现缓存操作时的回调监听,例如缓存对象的移除事件等
缓存对象
AbstractCache 的CacheObj迭代器.
AbstractCache 的值迭代器.
日期计算类
数学表达式计算工具类
针对Calendar 对象封装工具类
日期转换器
调用者接口 可以通过此接口的实现类方法获取调用者、多级调用者以及判断是否被调用
调用者。
驼峰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进入的值也会被覆盖
强转转换器
转换工具类,提供集合、Map等向上向下转换工具
责任链接口
字符转换器
char[]包装,提供zero-copy的数组操作
字符查找器 查找指定字符在字符串中的位置信息
字符工具类 部分工具来自于Apache Commons系列
区间字符串替换,指定区间,将区间中的所有字符去除,替换为指定的字符,字符重复次数为区间长度,即替换后字符串长度不变 此方法使用String.codePoints()完成拆分替换
CharSequence 相关类封装,包括但不限于: 字符串补充前缀或后缀:addXXX 字符串补充长度:padXXX 字符串包含关系:containsXXX 字符串默认值:defaultIfXXX 字符串查找:indexOf 字符串判断以什么结尾:endWith 字符串判断以什么开始:startWith 字符串匹配:equals 字符串格式化:format 字符串去除:removeXXX 字符串重复:repeat 获取子串:sub 去除两边的指定字符串(只去除一次):strip 去除两边的指定所有字符:trim 去除两边的指定所有字符包装和去除包装:wrap
快速字符串读取,相比jdk的StringReader非线程安全,速度更快。
CharSequence资源,字符串做为资源
字符集工具类
编码对象转换器
编码探测器
字符串检查工具类,提供字符串的blank和empty等检查 empty定义:null or 空字符串:"" blank定义:null or 空字符串:"" or 空格、全角空格、制表符、换行符,等不可见字符
自定义加入前检查的LinkedBlockingQueue,给定一个检查函数,在加入元素前检查此函数 原理是通过Runtime#freeMemory()获取剩余内存,当剩余内存低于指定的阈值时,不再加入。
校验码工具
童限(从出生到起运的时间段)
童限信息
童限计算接口
元亨利贞的童限计算
数字转中文类 包括:
中文数字或金额解析类
公民身份号码(Citizen Identification Number),参考GB11643-1999标准。
10位公民身份号码(Citizen Identification Number)用于台湾、香港、澳门
循环缓冲区
循环缓冲区
身份证相关工具类,参考标准:GB 11643-1999 标准描述见:http://openstd.samr.gov.cn/bzgk/gb/newGbInfo?
Google发布的Hash计算算法:CityHash64 与 CityHash128。
类转换器 将类名转换为类,默认初始化这个类(执行static块)
类工具类
类成员,用于获取类的修饰符等,如:
ClassPath单一资源访问类 传入路径path必须为相对路径,如果传入绝对路径,Linux路径会去掉开头的“/”,而Windows路径会直接报错。
类扫描器
七十二候
Clob转String
克隆异常
Unicode字符遍历器 参考:http://stackoverflow.com/a/21791059/6030888
各种集合类转换器
集合运算,包括: 求集合的并集 求集合的唯一并集 求集合的完全并集 求集合的交集 求集合的差集
集合的stream操作封装
Collection检查工具类,提供字对象的blank和empty等检查 empty定义:null or 空字对象:"" blank定义:null or 空字对象:"" or 空格、全角空格、制表符、换行符,等不可见字符
MultiValueMap的通用实现,可视为值为Collection集合的Map集合。
可变的汇聚操作Collector 相关工具封装
集合相关工具类 此工具方法针对CollectionIterable及其实现类封装的工具
颜色工具类
组合,即C(n, m) 排列组合相关类 参考:http://cgs1999.iteye.com/blog/2327664
组合注解 对JDK的原生注解机制做一个增强,支持类似Spring的组合注解。
组合BloomFilter 实现 1.构建hash算法 2.散列hash映射到数组的bit位置 3.验证 此实现方式可以指定Hash算法
比较器链。
比较工具类
两个函数的叠加函数.
复合转换器,融合了所有支持类型和自定义类型的转换规则 在此类中,存放着默认转换器和自定义转换器,默认转换器是预定义的一些转换器,自定义转换器存放用户自定的转换器。
带有计算属性的遍历器 通过继承此抽象遍历器,实现ComputeIterator.computeNext()计算下一个节点,即可完成节点遍历 当调用ComputeIterator.hasNext()时将此方法产生的节点缓存,直到调用ComputeIterator.next()取出 当无下一个节点时,须返回null表示遍历结束
高并发测试工具类
通过ConcurrentHashMap实现的线程安全HashSet
A hash table supporting full concurrency of retrievals, adjustable expected concurrency for updates, and a maximum capacity to bound the map by.
A builder that creates ConcurrentLinkedHashMap instances.
通过ConcurrentLinkedHashMap实现的线程安全HashSet
命令行(控制台)工具方法类 此类主要针对System.outSystem.err 做封装。
控制台打印表格工具
星座
jdk8中如果直接调用MethodHandles.lookup()获取到的MethodHandles.Lookup 在调用findSpecial和unreflectSpecial时会出现权限不够问题,抛出"no private access for invokespecial"异常 所以通过反射创建MethodHandles.Lookup解决该问题。
业务常量
3参数Consumer
可序列化的Consumer接口,支持异常抛出和多个消费者组合。
配置属性管理类,用于加载和获取配置属性,支持单例模式
基础输出封装
类型转换器
日期转换
类型转换接口函数,根据给定的值和目标类型,由用户自定义转换规则。
带根的转换器 在嵌套对象转换中,如果涉及子对象的转换,使用根转换器转换
类型: 转换异常
坐标系转换相关工具类,主流坐标系包括: WGS84坐标系:即地球坐标系,中国外谷歌地图 GCJ02坐标系:即火星坐标系,高德、腾讯、阿里等使用 BD09坐标系:即百度坐标系,GCJ02坐标系经加密后的坐标系。
坐标经纬度
复制 Iterator 为了解决并发情况下Iterator遍历导致的问题(当Iterator被修改会抛出ConcurrentModificationException) ,故使用复制原Iterator的方式解决此问题
拷贝接口
设置返回元素的类型
属性拷贝选项 包括: 1、限制的类或接口,必须为目标对象的实现接口或父类,用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类 2、是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入null 3、忽略的属性列表,设置一个属性列表,不拷贝这些属性值
文件拷贝的FileVisitor实现,用于递归遍历拷贝目录,此类非线程安全 此类在遍历源目录并复制过程中会自动创建目标目录中不存在的上级目录。
CRC16 循环冗余校验码(Cyclic Redundancy Check)实现,默认IBM算法
CRC16_ANSI
CRC16_CCITT:多项式x16+x12+x5+1(0x1021),初始值0x0000,低位在前,高位在后,结果与0x0000异或 0x8408是0x1021按位颠倒后的结果。
CRC16_CCITT_FALSE:多项式x16+x12+x5+1(0x1021),初始值0xFFFF,低位在后,高位在前,结果与0x0000异或
CRC16 Checksum,用于提供多种CRC16算法的通用实现 通过继承此类,重写update和reset完成相应算法。
CRC16_DNP:多项式x16+x13+x12+x11+x10+x8+x6+x5+x2+1(0x3D65),初始值0x0000,低位在前,高位在后,结果与0xFFFF异或 0xA6BC是0x3D65按位颠倒后的结果
CRC16_IBM:多项式x16+x15+x2+1(0x8005),初始值0x0000,低位在前,高位在后,结果与0x0000异或 0xA001是0x8005按位颠倒后的结果
CRC16_MAXIM:多项式x16+x15+x2+1(0x8005),初始值0x0000,低位在前,高位在后,结果与0xFFFF异或 0xA001是0x8005按位颠倒后的结果
CRC-16 (Modbus) CRC16_MODBUS:多项式x16+x15+x2+1(0x8005),初始值0xFFFF,低位在前,高位在后,结果与0x0000异或 0xA001是0x8005按位颠倒后的结果
CRC16_USB:多项式x16+x15+x2+1(0x8005),初始值0xFFFF,低位在前,高位在后,结果与0xFFFF异或 0xA001是0x8005按位颠倒后的结果
CRC16_X25:多项式x16+x12+x5+1(0x1021),初始值0xffff,低位在前,高位在后,结果与0xFFFF异或 0x8408是0x1021按位颠倒后的结果。
CRC-CCITT (XModem) CRC16_XMODEM:多项式x16+x12+x5+1(0x1021),初始值0x0000,低位在后,高位在前,结果与0x0000异或
CRC8 循环冗余校验码(Cyclic Redundancy Check)实现 代码来自:https://github.com/BBSc0der
统一社会信用代码(GB32100-2015)工具类 标准见:GB 32100-2015 三证合一、一照一码政策之后,纳税人识别号 == 统一社会信用代码 政策见国家税务总局:“三证合一”后纳税人识别号有何变化?
Crockford`s Base32实现 来自:https://gist.github.com/markov/5206312
类型: 定时任务执行异常
类型: 加解密异常
区域文化
货币Currency 转换器
自定义键的Map,默认HashMap实现
数据大小,可以将类似于'12MB'表示转换为bytes长度的数字 此类来自于:Spring-framework
数据单位封装 此类来自于:Spring-framework
DateBuilder类用于构建和操作日期 该类提供了多个方法来设置年、月、日等日期字段,以及获取构建的日期对象 它是不可变的,因此每个设置方法都会返回一个新的DateBuilder实例
日期转换器
工具类异常
日期时间工具类
java.sql.*日期时间相关封装 考虑到JDK9+模块化后,java.sql并非默认引入模块,因此将相关内容单独封装为工具,避免类找不到问题。
日期解析接口,用于解析日期字符串为 Date 对象 Thanks to Apache Commons Lang 3.5
日期格式表达式类,用于解析和格式化日期时间。
数字格式化规则接口。
日期格式化规则接口。
日期信息获取接口,用于提供日期格式、时区和地域信息。
包装Date 此类继承了Date,并提供扩展方法,如时区等。
大运(10年1大运)
解码接口
默认的童限计算
默认日期基本信息类,提供默认的日期格式、时区和地域设置。
默认的八字计算(晚子时日柱算第二天)
默认的Bean创建器
默认的简单转换器
默认对象实例化器 通过传入对象类型和构造函数的参数,调用对应的构造方法创建对象。
片段默认实现
Deflate算法 Deflate是同时使用了LZ77算法与哈夫曼编码(Huffman Coding)的一个无损数据压缩算法。
使用 Deflater 进行压缩的接收器,立即压缩并写入缓冲数据,调用 flush 会导致压缩率降低。
延迟观察者 使用此观察者通过定义一定的延迟时间,解决WatchService多个modify的问题 在监听目录或文件时,如果这个文件有修改操作,会多次触发modify方法。
ExecutorService代理
委派的资源加载器
删除操作的FileVisitor实现,用于递归遍历删除文件夹
依赖异常
开发环境 表示当前方法禁止用于生产环境,仅可用于开发测试
字典对象,扩充了LinkedHashMap中的方法
北斗九星
方位
类型: 禁用异常
始终为空的队列,所有新增节点都丢弃
DocumentBuilder 工具类
三伏
三伏天
借鉴自StreamEx
Duration对象转换器
建除十二值神
动态Bean,通过反射对Bean的相关方法做操作 支持Map和普通Bean和Collection
DynaBean值提供者
地支(地元)
单元素的扩展流实现。
建造者
黄道黑道
八字
八字计算接口
五行
空值或空对象转换器,转换结果为目标类型对象的实例化对象
空的流
空节点
此OutputStream写出数据到/dev/null,即忽略所有数据 来自 Apache Commons io
编码接口
将浮点数类型的number转换成英语的表达方式
WrappedStream接口的公共实现,用于包装并增强一个已有的流实例
Entity 实体
Map.Entry 转换器,支持以下类型转为Entry Map Map.Entry 带分隔符的字符串,支持分隔符:=, Bean,包含getKeygetValue方法
参考StreamEx的EntryStream与vavr的Map,是针对键值对对象Map.Entry特化的单元素增强流实现。
A class that can determine the selector of an entry.
无泛型检查的枚举转换器
Enumeration对象转Iterator对象
枚举元素通用接口,在自定义枚举上实现此接口可以用于数据转换 数据库保存时建议保存 intVal()而非ordinal()防备需求变更
枚举工具类
枚举元素通用接口,在自定义枚举上实现此接口可以用于数据转换 数据库保存时建议保存 intVal()而非ordinal()防备需求变更
对齐方式枚举
追加模式
比较模式
节日类型
FTP连接模式 见:https://www.cnblogs.com/huhaoshida/p/5412615.html
渐变方向
脱敏类型
修饰符
命名模式
S
排序方式
排序方式
图片缩略类型
图片缩略模式
异常信息处理
系统响应码
异常信息处理 此类未找到实现的情况下,采用默认实现 可以根据不同业务需求,重写方法实现对应业务逻辑即可 项目中可通过SPI形式接入 例:META-INF/services/org.miaixz.bus.core.basics.service.ErrorService org.miaixz.bus.xxx.BusinessErrorService ......
转义和反转义工具类Escape / Unescape escape采用ISO Latin字符集对指定的字符串进行编码。
事件接口,所有事件必须实现此接口
事件发布者接口,用于发布事件
异常工具类
Windows 资源管理器风格字符串比较器 此比较器模拟了 Windows 资源管理器的文件名排序方式,可得到与其相同的排序结果。
快速缓冲抽象类,用于快速读取、写入数据到缓冲区,减少内存复制 相对于普通Buffer,使用二维数组扩展长度,减少内存复制,提升性能
基于快速缓冲FastByteBuffer的OutputStream,随着数据的增长自动扩充缓冲区 可以通过FastByteArrayOutputStream.toByteArray()FastByteArrayOutputStream.toString()来获取数据 FastByteArrayOutputStream.close()方法无任何效果,当流被关闭后不会抛出IOException 这种设计避免重新分配内存块而是分配新增的缓冲区,缓冲区不会被GC,数据也不会被拷贝到其他缓冲区。
快速缓冲,将数据存放在缓冲集中,取代以往的单一数组
快速字符缓冲,将数据存放在缓冲集中,取代以往的单一数组 注意:此缓存在大量重复append时,性能比StringBuilder要好,但是FastCharBuffer.toArray()性能很差
线程安全的日期解析器,替代 SimpleDateFormat,用于将日期字符串转换为 Date 对象。
线程安全的日期格式化类,替代 SimpleDateFormat,用于将 Date 格式化为字符串。
借助StringBuilder 提供快读的字符串写出,相比jdk的StringWriter非线程安全,速度更快。
ThreadLocal 的一个特殊变体 当从 SpecificThread 访问时,可产生更高的访问性能。
容错接收器,捕获底层接收器的 IOException 并标记错误状态,避免抛出异常。
逐日胎神
地支六甲胎神(《地支六甲胎神歌》子午二日碓须忌,丑未厕道莫修移。
天干六甲胎神(《天干六甲胎神歌》甲己之日占在门,乙庚碓磨休移动。
逐月胎神(正十二月在床房,二三九十门户中,四六十一灶勿犯,五甲七子八厕凶。)
Bean字段排序器 参阅feilong-core中的PropertyComparator
字段调用器 通过反射读取或赋值字段 读取字段值:
反射中Field字段工具类,包括字段获取和字段赋值。
字段反射类 此类持有类中字段的缓存,如果字段在类中修改,则需要手动调用clearCaches方法清除缓存。
日期场景属性 工具类,提供格式化字符串很多,但是对于具体什么含义,不够清晰,这里进行说明: 常见日期格式模式字符串: yyyy-MM-dd 示例:2022-08-05 yyyy年MM月dd日 示例:2022年08月05日 yyyy-MM-dd HH:mm:ss 示例:2022-08-05 12:59:59 yyyy-MM-dd HH:mm:ss.SSS 示例:2022-08-05 12:59:59.559 yyyy-MM-dd HH:mm:ss.SSSZ 示例:2022-08-05 12:59:59.559+0800【东八区中国时区】、2022-08-05 04:59:59.559+0000【冰岛0时区】, 年月日 时分秒 毫秒 时区 yyyy-MM-dd HH:mm:ss.SSSz 示例:2022-08-05 12:59:59.559UTC【世界标准时间=0时区】、2022-08-05T12:59:59.599GMT【冰岛0时区】、2022-08-05T12:59:59.599CST【东八区中国时区】、2022-08-23T03:45:00.599EDT【美国东北纽约时间,-0400】 ,年月日 时分秒 毫秒 时区 yyyy-MM-dd'T'HH:mm:ss.SSS'Z' 示例:2022-08-05T12:59:59.559Z, 其中:''单引号表示转义字符,T:分隔符,Z:一般指UTC,0时区的时间含义 yyyy-MM-dd'T'HH:mm:ss.SSSZ 示例:2022-08-05T11:59:59.559+0800, 其中:Z,表示时区 yyyy-MM-dd'T'HH:mm:ss.SSSX 示例:2022-08-05T12:59:59.559+08, 其中:X:两位时区,+08表示:东8区,中国时区 yyyy-MM-dd'T'HH:mm:ss.SSSXX 示例:2022-08-05T12:59:59.559+0800, 其中:XX:四位时区 yyyy-MM-dd'T'HH:mm:ss.SSSXXX 示例:2022-08-05T12:59:59.559+08:00, 其中:XX:五位时区 yyyy-MM-dd'T'HH:mm:ss 示例:2022-08-05T12:59:59+08 yyyy-MM-dd'T'HH:mm:ssXXX 示例:2022-08-05T12:59:59+08:00 yyyy-MM-dd'T'HH:mm:ssZ 示例:2022-08-05T12:59:59+0800 yyyy-MM-dd'T'HH:mm:ss'Z' 示例:2022-08-05T12:59:59Z EEE MMM dd HH:mm:ss z yyyy 示例:周五 8月 05 12:59:00 UTC+08:00 2022 EEE MMM dd HH:mm:ss zzz yyyy 示例:周五 8月 05 12:59:00 UTC+08:00 2022,其中z表示UTC时区,但:1~3个z没有任何区别 EEE, dd MMM yyyy HH:mm:ss z 示例:周五, 05 8月 2022 12:59:59 UTC+08:00
Bean字段排序器
FIFO(first in first out) 先进先出缓存.
文件追加器 持有一个文件,在内存中积累一定量的数据后统一追加到文件 此类只有在写入文件时打开文件,并在写入结束后关闭之。
FileChannel 数据拷贝封装
文件工具类
文件资源加载器
文件类型魔数封装
文件读写模式,常用于RandomAccessFile
文件名相关工具类
FileObject 资源包装
文件读取器
文件资源访问对象,支持PathFile 访问
文件内容跟随器,实现类似Linux下"tail -f"命令功能
命令行打印的行处理器
文件类型判断工具类
文件包装器,扩展文件对象
文件写入器
资源过滤器
包装 Iterator并根据Predicate定义,过滤元素输出 类实现来自Apache Commons Collection
过滤器工具类
保证ExecutorService在对象回收时正常结束
字符串查找接口,通过调用Finder.start(int)查找开始位置,再调用Finder.end(int)找结束位置
由一个有限值构成的边界
固定大小的LinkedHashMap 实现 注意此类非线程安全,由于LinkedHashMap.get(Object)操作会修改链表的顺序结构,因此也不可以使用读写锁。
类型: 权限异常
基于多个TreeEntry构成的、彼此平行的树结构构成的森林集合。
线程安全的日期格式化类,替代SimpleDateFormat
日期格式化器缓存类,提供线程安全的格式化器实例管理。
全局自定义日期格式管理器,用于定义用户指定的日期格式与格式化/解析规则的映射。
时长格式化器,用于格式化输出两个日期相差的时长 根据FormatPeriod.Level不同,调用FormatPeriod.format()方法后返回类似于: XX小时XX分XX秒 XX天XX小时 XX月XX天XX小时
格式化等级枚举
日期格式化输出接口,定义日期格式化方法。
日期格式化和解析 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等等,支持毫秒、微秒和纳秒等精确时间
小运
匹配到的单词,包含单词,text中匹配单词的内容,以及匹配内容在text中的下标, 下标可以用来做单词的进一步处理,如果替换成**
Fraction 是一个 Number 实现, 可以准确地存储分数。
指定函数排序器
基于Hash函数方法的BloomFilter
自定义函数Key风格的Map
自定义键值函数风格的Map
可序列化的Function接口,支持异常抛出。
寿星天文历工具
性别相关类
AnnotationMapping的基本实现,仅仅是简单包装了注解对象
通用Builder 参考: 一看就会的java8通用Builder
全局缓存清理定时器池,用于在需要过期支持的缓存对象中超时任务池
全局公共线程池 此线程池是一个无限线程池,即加入的线程不等待任何线程,直接执行
神煞
支持处理无向图结构的Map,本质上是基于SetValueMap实现的邻接表
基于分组的Get接口
用来标识每个需要加锁的状态变量以及保护该变量的锁 有助于代码的维护与审查,以及一些自动化的分析工具找到潜在的安全性错误
GZIP是用于Unix系统的文件压缩 gzip的基础是DEFLATE
GZIP 格式压缩接收器,使用 Deflater 进行压缩,仅在必要时调用 flush 以优化性能。
解压读取数据
处理接口,定义任务执行前后的回调方法以及属性配置逻辑
Hash计算接口
Hash计算接口
Hash计算接口
Hashids 协议实现,以实现: 生成简短、唯一、大小写敏感并无序的hash值 自然数字的Hash值 可以设置不同的盐,具有保密性 可配置的hash长度 递增的输入产生的输出无法预测
Hash算法大全 推荐使用FNV1算法
天干
十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:A~F即10~15)。
十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:A~F即10~15)。
藏干(即人元,司令取天干,分野取天干的五行)
人元司令分野(地支藏干+天索引)
藏干类型
表示一组处于在层级结构中具有关联关系的AnnotatedElement,创建实例时, 将扫描指定AnnotatedElement的层级结构中的所有AnnotatedElement, 并将其包装为MetaAnnotatedElement
用于迭代层级结构(比如树或图)的迭代器, 支持广度优先深度优先两种遍历模式。
高效替换器,通过查找指定关键字,替换对应的值 基于AC自动机算法实现,需要被替换的原字符串越大,替换的键值对越多,效率提升越明显 注意: 如果需要被替换的关键字出现交叉,最先匹配中的关键字会被替换 1、"abc","ab" 会优先替换"ab" 2、"abed","be" 会优先替换"abed" 3、"abc", "ciphers" 会优先替换"abc"
高效替换器,通过查找指定关键字,替换对应的值 基于AC自动机算法实现,需要被替换的原字符串越大,替换的键值对越多,效率提升越明显 注意: 如果需要被替换的关键字出现交叉,最先匹配中的关键字会被替换 1、"abc","ab" 会优先替换"ab" 2、"abed","be" 会优先替换"abed" 3、"abc", "bc" 会优先替换"abc"
AC 自动机
实例持有类
法定假日(自2001-12-29起)
HTML4的ESCAPE 参考:Commons Lang3
HTML4的UNESCAPE
HTTP 相关常量
HTTP资源,用于自定义表单数据,可自定义Content-Type
语言枚举
ID生成器工具类,此工具类中主要封装:
属性忽略注解,使用此注解的字段等会被忽略,主要用于Bean拷贝、Bean转Map等 此注解应用于字段时,忽略读取和设置属性值,应用于setXXX方法忽略设置值,应用于getXXX忽略读取值
类型: 非法路径
不可变类
简单的轮询选择器
按照顺序正序排列,元素位置决定了对象的排序先后,如果参与排序的元素并不在其中,则排序在前(可以通过atEndIfMiss设置)
基字符串模板-基于下标的占位符 SectionBuffer
使用DEFLATE 解压缩从另一个源读取的数据的源。
InflaterInputStream包装实现,实现"deflate"算法解压 参考:org.apache.hc.client5.http.entity.DeflateInputStream
注释实现类的成员(构造函数、方法和字段)
基于InputStream的资源获取器 注意:此对象中getUrl方法始终返回null
实例化对象的接口 1.
按照指定类型顺序排序,对象顺序取决于对象对应的类在数组中的位置
实例化工厂类
单例类 提供单例对象的统一管理,当调用get方法时,如果对象池中存在此对象,返回此对象,否则创建新对象返回
规范化表示形式封装 所谓规范化,即当两个对象equals时,规范化的对象则可以实现== 此包中的相关封装类似于 String.intern()
类型: 内部处理异常
规范化对象生成工具
基于哈希表的IntMap接口实现。
 
类型: 无效的参数
Invoker接口定义了调用目标对象的方法的规范。
IO拷贝抽象,可自定义包括缓存、进度条等信息 此对象非线程安全
IO工具类 IO工具类只是辅助流的读写,并不负责关闭流。
IPV4地址工具类 名词解释: ip字符串:点分十进制,形如:xxx.xxx.xxx.xxx ip的Long类型:有效位32位,每8位可以转为一个十进制数,例如:0xC0A802FA, 转为点分十进制是:192.168.2.250 掩码地址:点分十进制,例如:255.255.255.0 掩码位:int类型,例如 24, 它代表的掩码地址为:255.255.255.0;掩码位和掩码地址的相互转换,请使用 MaskBit CIDR:无类域间路由,形如:xxx.xxx.xxx.xxx/掩码位,192.168.1.101/24 全量地址:区间内所有ip地址,包含区间两端 可用地址:区间内所有ip地址,但是不包含区间两端
IPv6工具类
提供合成接口,共同提供IterableIterator功能
无限有序流的Spliterator
组合Iterator,将多个Iterator组合在一起,便于集中遍历
IterableIterator 相关工具类
Iterator检查工具类,提供字对象的blank和empty等检查 empty定义:null or 空字对象:"" blank定义:null or 空字对象:"" or 空格、全角空格、制表符、换行符,等不可见字符
外部Jar的类加载器
Jar包资源加载器
Jar包资源对象
JDK的Proxy相关工具类封装
儒略日
类型: JWT异常
Kotlin Bean转换器,支持:
kotlin.reflect.KCallable方法包装调用类
kotlin.reflect.jvm.internal.KClassImpl包装
Ketama算法,用于在一致性Hash中快速定位服务器位置
系统属性名称常量池 封装了包括Java运行时环境信息、Java虚拟机信息、Java类信息、OS信息、用户信息等
Kotlin反射包装相关工具类
kotlin.reflect.KParameter实例表示类 通过反射获取Kotlin中KParameter相关属性值
表示以 LAB 形式存储的颜色 L: 亮度 a: 正数代表红色,负端代表绿色 b: 正数代表黄色,负端代表蓝色
用于在输出到CLI表或Excel/CSV等时为字段/getter提供标签.
以类似反射的方式动态创建Lambda,在性能上有一定优势,同时避免每次调用Lambda时创建匿名内部类
Lambda相关工具类
树配置属性相关(使用Lambda语法) 避免对字段名称硬编码
存放lambda信息 此类是SerializedLambda信息的扩充和补充类,包括: 实例化后的对象方法参数类型,一般用于方法引用
九野
类型: 启动异常
将一个单例类标记为惰性初始化, 或者标记为不受立即加载影响的方法(例如,AppConfig中的方法)
函数式懒加载加载器 传入用于生成对象的函数,在对象需要使用时调用生成对象,然后抛弃此生成对象的函数。
懒加载加载器 在load方法被调用前,对象未被加载,直到被调用后才开始加载 此加载器常用于对象比较庞大而不一定被使用的情况,用于减少启动时资源占用问题 此加载器使用双重检查(Double-Check)方式检查对象是否被加载,避免多线程下重复加载或加载丢失问题
字符串长度比较器,短在前
固定长度查找器 给定一个长度,查找的位置为from + length,一般用于分段截取
LFU(least frequently used) 最少使用率缓存 根据使用次数来判定对象是否被持续缓存 使用率是通过访问次数计算的。
使用LFU缓存文件,以解决频繁读取文件引起的性能问题
这是避免GC搅动和零填充所必需的 这个池是一个线程安全的静态单例
限制读取最大长度的FilterInputStream实现
行数计数器
行读取器,类似于BufferedInputStream,支持多行转义,规则如下: 支持'\n'和'\r\n'两种换行符,不支持'\r'换行符 如果想读取转义符,必须定义为'\\' 多行转义后的换行符和空格都会被忽略
将Reader包装为一个按照行读取的Iterator 此对象遍历结束后,应关闭之,推荐使用方式:
行读取器,类似于BufferedInputStream,支持多行转义,规则如下: 支持'\n'和'\r\n'两种换行符,不支持'\r'换行符 如果想读取转义符,必须定义为'\\' 多行转义后的换行符和空格都会被忽略
换行符枚举 换行符包括:
行处理的Watcher实现
An element that is linked on the Deque.
Linked list implementation of the Deque interface where the link pointers are tightly integrated with the element.
ForestMap的基本实现。
Map.Entry包装类
树节点
List相关工具类
列表节点 [num0,num1,num2...]模式或者['key0','key1']模式
列表类型的服务加载器,用于替换JDK提供的ServiceLoader 相比JDK,增加了: 可选服务存储位置(默认位于META-INF/services/)。
值作为集合List的Map实现,通过调用putValue可以在相同key时加入多个值,多个值用集合表示
列表包装类 提供列表包装,用于在执行列表方法前后自定义处理逻辑
字符串模板-固定文本 SectionBuffer
资源加载器,充分采用惰性加载的逻辑, 让资源的加载延后到Enumeration.hasMoreElements() 调用时,避免无用的提前全部预加载
对象加载抽象接口 通过实现此接口自定义实现对象的加载方式,例如懒加载机制、多线程加载等
资源加载器工具类
自定义语言环境 String 比较,可为自然语言文本构建搜索和排序例程。
Locale对象转换器 只提供String转换支持
锁相关类
使用Lock保护的缓存,读写都使用悲观锁完成,主要避免某些Map无法使用读写锁的问题, 例如使用了LinkedHashMap的缓存,由于get方法也会改变Map的结构,因此读写必须加互斥锁
MethodHandles.Lookup方法工厂,用于创建MethodHandles.Lookup对象 MethodHandles.Lookup是一个方法句柄查找对象,用于在指定类中查找符合给定方法名称、方法类型的方法句柄。
MethodHandles.Lookup工具 MethodHandles.Lookup是一个方法句柄查找对象,用于在指定类中查找符合给定方法名称、方法类型的方法句柄。
查找替换器,通过查找指定关键字,替换对应的值
抽象的轮回
LRU (least recently used)最近最久未使用缓存 根据使用时间来判定对象是否被持续缓存 当对象被访问时放入缓存,当缓存满了,最久未被使用的对象将被移除。
使用LRU缓存文件,以解决频繁读取文件引起的性能问题
吉凶
Luhn算法,也称为“模10”算法,是一种简单的校验和(Checksum)算法,在ISO/IEC 7812-1中定义,校验步骤如下: 从右边第1个数字(校验数字)开始偶数位乘以2,如果小于10,直接返回,否则将个位数和十位数相加 把步骤1种获得的乘积的各位数字与原号码中未乘2的各位数字相加 如果步骤2得到的总和模10为0,则校验通过
农历日
农历传统节日(依据国家标准《农历的编算和颁行》GB/T 33661-2017)
农历时辰
农历月
农历季节
Lunar的流派1童限计算(按天数和时辰数计算,3天1年,1天4个月,1时辰10天)
Lunar的流派2童限计算(按分钟数计算)
Lunar流派2的八字计算(晚子时日柱算当天)
农历周
农历年
Jar包中manifest.mf文件获取和解析工具类
Map创建类
Map 转换器,通过预定义key和value的类型,实现: Map 转 Map,key和value类型自动转换 Bean 转 Map,字段和字段值类型自动转换
Map的getXXX封装,提供针对通用型的value按照所需类型获取值
Map拼接器,可以拼接包括Map、Entry列表等。
Map相关工具类
类型: 数据操作异常
Map代理,提供各种getXXX方法,并提供默认值支持
键值对服务加载器,使用Properties加载并存储服务 服务文件默认位于"META-INF/bus/"下,文件名为服务接口类全名。
Map属性拷贝到Bean中的拷贝器
Map 到 Map 的属性拷贝器,将源 Map 的键值对复制到目标 Map。
通过转换器将你的实体转化为TreeNodeMap节点实体 属性都存在此处,属性有序,可支持排序
Map检查工具类,提供字对象的blank和empty等检查 empty定义:null or 空字对象:"" blank定义:null or 空字对象:"" or 空格、全角空格、制表符、换行符,等不可见字符
Map值提供者
Map包装类,通过包装一个已有Map实现特定功能。
掩码位和掩码之间的Map对应
数据脱敏(Data Masking)工具类,对某些敏感信息(比如,身份证号、手机号、卡号、姓名、地址、邮箱等 )屏蔽敏感数据。
脱敏处理器,用于自定义脱敏规则
脱敏管理器,用于管理所有脱敏处理器,使用方式有三种: 全局默认:使用MaskingManager.getInstance(),带有预定义的脱敏方法 自定义默认:使用MaskingManager.ofDefault(char),可以自定义脱敏字符,带有预定义的脱敏方法 自定义:使用MaskingManager(Map, char)构造,不带有默认规则
带有匹配的转换器 判断目标对象是否满足条件,满足则转换,否则跳过 实现此接口同样可以不判断断言而直接转换
字符匹配查找器 查找满足指定Predicate 匹配的字符所在位置,此类长用于查找某一类字符,如数字等
数字工具类 对于精确值计算应该使用 BigDecimal JDK7中BigDecimal(double val)构造方法的结果有一定的不可预知性,例如:
HTTP 媒体类型
内存安全的LinkedBlockingQueue,可以解决OOM问题。
响应结果
注解元素映射,用于包装一个AnnotatedElement,然后将被包装的元素上, 直接声明的注解以及这些注解的元组全部解析为ResolvedAnnotationMapping
元注解
方法调用器,通过反射调用方法。
反射中Method相关工具类,包括方法获取和方法执行
jdk11中直接调用MethodHandles.lookup()获取到的MethodHandles.Lookup只能对接口类型才会权限获取方法的方法句柄MethodHandle。
方法匹配器工具类,用于基于各种预设条件创建方法匹配器。
方法反射相关操作类。
Apache 发布的MetroHash算法接口,是一组用于非加密用例的最先进的哈希函数。
Apache 发布的MetroHash算法的128位实现,是一组用于非加密用例的最先进的哈希函数。
Apache 发布的MetroHash算法的64位实现,是一组用于非加密用例的最先进的哈希函数。
小六壬
复合过滤器,实际上内部维护一个过滤器的LinkedHashSet集合,提供添加/删除以及链式拼接的方法来混合多个子过滤器,该过滤器的具体逻辑由子类拓展
日期修改器 用于实现自定义某个日期字段的调整,包括:
类修饰符
修改类型
单币种货币类,处理货币算术、币种和取整。
月份枚举 与Calendar中的月份int值对应
莫尔斯电码的编码和解码实现 参考:https://github.com/TakWolf/Java-MorseCoder
文件移动操作的FileVisitor实现,用于递归遍历移动目录和文件,此类非线程安全 此类在遍历源目录并移动过程中会自动创建目标目录中不存在的上级目录。
多文件组合资源 此资源为一个利用游标自循环资源,只有调用MultiResource.next() 方法才会获取下一个资源,使用完毕后调用MultiResource.reset()方法重置游标
多资源组合资源 此资源为一个利用游标自循环资源,只有调用MultiResource.next() 方法才会获取下一个资源,使用完毕后调用MultiResource.reset()方法重置游标
多字符串查询器 底层思路 使用 AC 自动机实现
AC 自动机节点
一个键对应多个值的集合Map实现,提供针对键对应的值集合中的元素而非值集合本身的一些快捷操作, 本身可作为一个值为Collection类型的Map使用。
Murmur3 32bit、64bit、128bit 哈希算法实现 此算法来自于:...
提供可变值类型接口
可变 boolean 类型
可变 byte 类型
可变 double 类型
可变键和值的Map.Entry实现,可以修改键和值
可变 float 类型
可变 int 类型
可变 long 类型
可变Object
可变二元组对象
可变 short 类型
可变三元组对象
注解命名
 
有前后缀的字符串模板
构造器
字符串模板-有前后缀的变量占位符 SectionBuffer
线程创建工厂类 此工厂可选配置:
处理名称节点或序号节点,如: name 1
命名规则封装,主要是针对驼峰风格命名、连接符命名等的封装
NanoId,一个小型、安全、对 URL友好的唯一字符串 ID 生成器,特点: 安全:它使用加密、强大的随机 API,并保证符号的正确分配 体积小:只有 258 bytes 大小(压缩后)、无依赖 紧凑:它使用比 UUID (A-Za-z0-9_~)更多的符号
Jar包资源加载器
网络相关工具
基于非确定性有穷自动机(NFA) 实现的多模匹配工具
数九
数九天
九星
128位数字表示,分为: 最高有效位(Most Significant Bit),64 bit(8 bytes) 最低有效位(Least Significant Bit),64 bit(8 bytes)
无缓存实现,用于快速关闭缓存
Bean路径节点接口
节点接口,提供节点相关的的方法定义
BeanPath节点对应的Bean工厂,提供Bean的创建、获取和设置接口
树配置属性相关
节点简单工厂
包装 NodeListIterator 此 iterator 不支持 NodeListIterator.remove() 方法。
树节点解析器 可以参考DefaultNodeParser
无锁实现
账号密码形式的Authenticator 实现
系统时钟 高并发场景下System.currentTimeMillis()的性能问题的优化 System.currentTimeMillis()的调用比new一个普通对象要耗时的多(具体耗时高出多少我还没测试过,有人说是100倍左右) System.currentTimeMillis()之所以慢是因为去跟系统打了一次交道 后台定时更新时钟,JVM退出时,线程自动回收 see: http://git.oschina.net/yu120/sequence
无限小的左边界
无限大的右边界
不能为 Null(仅标识)
无锁的读写锁实现
默认常量
全局正则日期解析器,通过预定义或自定义的正则规则解析日期字符串。
SPI机制中的服务加载工具类,流程如下
类型: 无法找到方法
类型: 对象不存在
类型: 资源不存在
类型: 未初始化异常
线程不安全安全注解
可以为 Null(仅标识)
null友好的比较器包装,如果nullGreater,则null > non-null,否则反之。
空类型表示
为了解决反射过程中,需要传递null参数,但是会丢失参数类型而设立的包装类
数字转换器 支持类型为: java.lang.Byte java.lang.Short java.lang.Integer java.util.concurrent.atomic.AtomicInteger java.lang.Long java.util.concurrent.atomic.AtomicLong java.lang.Float java.lang.Double java.math.BigDecimal java.math.BigInteger
数字解析器 用于将字符串解析为对应的数字类型,支持包括: 0开头的忽略开头的0 空串返回0 NaN返回0 其它情况按照10进制转换 .123形式返回0.123(按照小于0的小数对待)
数字检查器
形如'的反转义器
访问授权
对象创建器,用于自定义创建指定类型、指定参数的对象 也叫对象初始化器。
对象工厂接口,用于自定义对象创建、验证和销毁 来自:https://github.com/DanielYWoo/fast-object-pool/
MongoDB ID生成策略实现 ObjectId由以下几部分组成:
对象工具类,包括判空、克隆、序列化等操作 原数组相关操作见:ArrayValidator.hasBlank(CharSequence...)ArrayValidator.isAllBlank(CharSequence...)等等
对象池接口,提供: ObjectPool.borrowObject() 对象借出 ObjectPool.returnObject(Object) 对象归还 ObjectPool.free(Object) 对象销毁 对于对象池中对象维护,通过PoolConfig.getMaxIdle()控制,规则如下: 如果借出量很多,则不断扩容,直到达到PoolConfig.getMaxSize() 如果池对象闲置超出PoolConfig.getMaxIdle(),则销毁。
对象检查工具类,提供字对象的blank和empty等检查 empty定义:null or 空字对象:"" blank定义:null or 空字对象:"" or 空格、全角空格、制表符、换行符,等不可见字符
字符串区域匹配器,用于匹配字串是头部匹配还是尾部匹配,亦或者是某个位置的匹配。
Excel兼容的ZIP64 OutputStream实现 来自并见: https://github.com/rzymek/opczip
阴阳
Optional对象转换器
复制jdk16中的Optional,以及进行了一点调整和新增,比jdk8中的Optional多了几个实用的函数
Optional对象转换器
字段排序
排序
类型: 分页插件异常
不可变二元组对象
Pair 转换器,支持以下类型转为Pair Map Map.Entry 带分隔符的字符串,支持分隔符:=, Bean,包含getLeftgetRight方法
ParameterizedType 接口实现,用于重新定义泛型类型
列表分区或分段 通过传入分区长度,将指定列表分区为不同的块,每块区域的长度相同(最后一块可能小于长度) 分区是在原List的基础上进行的,返回的分区是不可变的抽象列表,原列表元素变更,分区中元素也会变更。
分批迭代工具,可以分批处理数据 比如调用其他客户的接口,传入的入参有限,需要分批 比如mysql/oracle用in语句查询,超过1000可以分批 比如数据库取出游标,可以把游标里的数据一批一批处理
分区对象池实现
分区可池化对象,此对象会同时持有原始对象和所在的分区
分局对象池配置
字符串转换器
文件复制封装
文件移动封装
文件删除封装
NIO中Path对象操作封装
常用正则表达式集合,更多正则见: https://any86.github.io/any-rule/
正则查找器 通过传入正则表达式,查找指定字符串中匹配正则的开始和结束位置
正则相关工具类 常用正则请见 Validator
模式匹配资源加载器
通过给定的日期格式解析日期时间字符串,逐个尝试格式直到解析成功,返回 DateTime 对象,若失败则抛出 DateException
类型: 支付异常
一个Source,它可以窥视上游的BufferSource并允许读取和 展开缓冲数据而不使用它 这是通过请求额外的数据吗 如果需要,则复制上游源文件,如果需要,则从上游源文件的内部缓冲区复制 此源还维护其上游缓冲区的起始位置的快照 每次读取时验证 如果从上游缓冲区读取,则此源将变为 无效,在以后的读取中抛出IllegalStateException
彭祖百忌
地支彭祖百忌
天干彭祖百忌
百分号编码(Percent-encoding), 也称作URL编码(URL encoding)。
PercentCodec构建器 由于PercentCodec本身应该是只读对象,因此将此对象的构建放在Builder中
Period对象转换器
虚引用对象,在GC时发现虚引用对象,会将PhantomReference插入ReferenceQueue
月相
电话号码工具类,包括: 手机号码 400、800号码 座机号码
进程ID单例封装 第一次访问时调用ManagementFactory.getRuntimeMXBean()获取PID信息,之后直接使用缓存值
按照GBK拼音顺序对给定的汉字字符串排序
包名表达式资源加载器
一个简单的占位符解析器。
插件
梅雨
梅雨天
池化对象
对象池配置,提供基本的配置项,包括: 最小池大小(初始大小) 最大池大小 最长等待时间 最长空闲时间
对象池分区 一个分区实际为一个小的对象池,持有一个阻塞队列。
带有ParsePosition的日期解析接口,用于解析日期字符串为 Date 对象
尝试方式对象实例化器 通过判断类型或调用可能的构造,构建对象,支持: 原始类型 接口或抽象类型 枚举 数组 使用默认参数的构造方法
通过判断字符串的匹配,解析为日期 通过实现Predicate.test(Object)方法判断字符串是否符合此解析器的规则,如果符合,则调用DateParser.parse(CharSequence)完成解析。
一些Predicate相关封装
断言与一元操作符的组合 此接口用于组合断言和操作,如果Predicate.test(Object)true,则执行Function.apply(Object),否则不执行
可序列化的Predicate接口,支持异常抛出和逻辑组合操作。
原始类型数组工具类
原始类型转换器 支持类型为: byte short int long float double char boolean
生产环境 表示当前方法性能安全性各方面达标,可以用于生产环境
属性描述,包括了字段、getter、setter和相应的方法执行
Bean属性排序器 支持读取Bean多层次下的属性
配置文件源
网络协议枚举类,用于标识和处理多种网络协议。
类型: 协议异常
策略模式
代理Socket工厂,用于创建代理Socket
Punycode是一个根据RFC 3492标准而制定的编码系统,主要用于把域名从地方语言所采用的Unicode编码转换成为可用于DNS系统的编码 参考:https://blog.csdn.net/a19881029/article/details/18262671
标识qualifier注解
季度枚举
进制转换工具类,可以转换为任意进制 把一个十进制整数根据自己定义的进制规则进行转换 主要应用一下情况: 根据ID生成邀请码,并且尽可能的缩短。
列表分区或分段(可随机访问列表) 通过传入分区个数,将指定列表分区为不同的块,每块区域的长度均匀分布(个数差不超过1)
列表分区或分段(可随机访问列表) 通过传入分区长度,将指定列表分区为不同的块,每块区域的长度相同(最后一块可能小于长度) 分区是在原List的基础上进行的,返回的分区是不可变的抽象列表,原列表元素变更,分区中元素也会变更。
随机工具类
随机选择器
范围生成器。
步进接口,此接口用于实现如何对一个对象按照指定步进增加步进 步进接口可以定义以下逻辑:
[start:end:step] 模式节点
标记可读
Reader作为InputStream使用的实现。
Reader 包装
ReaderWriter 拷贝
实现缓冲接收器,管理字节流的写入操作,支持多种数据格式的写入并适配底层接收器。
原始缓冲流
Bean描述 包括Record自定义字段及对应方法,getter方法与字段名同名,不支持setter
Record类的转换器,支持:
java.lang.Record 相关工具类封装 来自于FastJSON2
针对Reference的接口定义,用于扩展功能 例如提供自定义的无需回收对象
线程安全的ReferenceMap实现
Reference转换器
引用类型
引用工具类,主要针对Reference 工具化封装 主要封装包括:
反射相关工具类
常用正则表达式字符
使用正则列表方式的日期解析器,通过定义若干正则规则,遍历匹配后按正则方式解析为日期。
正则表达式过滤器
正则表达式资源加载器
对象检查工具类,提供字对象的blank和empty等检查 empty定义:null or 空字对象:"" blank定义:null or 空字对象:"" or 空格、全角空格、制表符、换行符,等不可见字符
正则表达式和正则标识位的包装
基于类型注册的转换器,提供两种注册方式,按照优先级依次为: 按照匹配注册,使用RegisterConverter.register(MatcherConverter)
基于注册的日期解析器,通过遍历注册的解析器列表,找到适合的解析器并解析为日期。
线程拒绝策略枚举 如果设置了maxSize, 当总线程数达到上限, 会调用RejectedExecutionHandler进行处理,此枚举为JDK预定义的几种策略枚举表示
类型: IO相关异常
可重复注解收集器,用于从一个注解获得被它包含的可重复注解
RepeatableAnnotationCollector的基本实现
自定义判断条件的实现,当解析注解属性时,将根据给定的判断条件, 确定该属性中是否含有可重复注解,收集器将返回所有匹配的属性中的可重复注解。
全量实现,当注解中存在有属性为注解数组,且该数组对应的注解类型被Repeatable注解时, 认为该属性包含可重复注解。
空实现
标准实现,当注解中有且仅有一个名为value的属性时, 若该属性类型为注解数组,且该数组对应的注解类型被Repeatable注解, 则收集器将返回该属性中包括的可重复注解。
支持可重复注解的增强AnnotatedElement, 功能与MetaAnnotatedElement类似,但是存在下述差异: 限制以同一根注解延伸出的树结构上——而不是AnnotatedElement上——每种类型注解只能保留一个, 即当AnnotatedElement存在多个根注解有相同的元注解时,这些元注解会都会被扫描到; 支持扫描AnnotatedElement可重复注解,即当当前实例指定的RepeatableAnnotationCollector 支持从AnnotatedElement上直接声明的注解中获得可重复注解时, 则将会自动将其展开直到不为容器注解为止。
字符串替换链,用于组合多个字符串替换逻辑
附加索引的传统文化
支持重置的Iterator 接口 通过实现ResettableIterator.reset(),重置此Iterator后可实现复用重新遍历
注解映射,用于包装并增强一个普通注解对象, 包装后的可以通过getResolvedXXX获得注解对象或属性值, 可以支持属性别名与属性覆写的属性解析机制
日期解析
资源接口定义
资源类加载器,可以加载任意类型的资源类
资源查找器 参考Spring的PathMatchingResourcePatternResolver,实现classpath资源查找,利用AntPathMatcher筛选资源
Resource资源工具类
资源加载器
 
数据结果
重试任务类
重试工具类 自定义功能请使用RetryableTask
类型: 修饰IO异常
数字和罗马数字转换
RotN(rotate by N places),回转N位密码,是一种简易的替换式密码,也是过去在古罗马开发的凯撒加密的一种变体。
将行的键作为主键的Table实现 此结构为: 行=(列=值)
可序列化的Runnable接口,支持异常抛出和多个Runnable组合。
系统运行时工具类,用于执行系统命令的工具
轮回的信息 季度/月/星期/日/小时/分钟等
定时任务注解
注释用于确定作用域的注释.
查找替换器 查找给定的字符串,并全部替换为新的字符串,其它字符不变
缓冲区的一段 缓冲区中的每个段都是一个循环链表节点,它引用以下内容和 缓冲区中前面的段 池中的每个段都是一个单链列表节点,引用池 段的底层字节数组可以在缓冲区和字节字符串之间共享 当一个 段不能回收,也不能改变它的字节数据 唯一的例外是允许所有者段附加到段中,写入数据 limit及以上 每个字节数组都有一个单独的拥有段 的立场, 限制、prev和next引用不共享
片段表示,用于表示文本、集合等数据结构的一个区间。
分段锁工具类,支持 Lock、Semaphore 和 ReadWriteLock 的分段实现。
选择器接口 用于抽象负载均衡策略中的选择方式
带有信号量控制的Runnable 接口抽象实现
敏感词工具类
敏感词过滤处理器,默认按字符数替换成*
序列化工具类 注意!
Service 接口
SPI服务加载接口 用户实现此接口用于制定不同的服务加载方式
基于Map的Set实现
集合中的Set相关方法封装
对象检查工具类,提供字对象的blank和empty等检查 empty定义:null or 空字对象:"" blank定义:null or 空字对象:"" or 空格、全角空格、制表符、换行符,等不可见字符
值作为集合Set(LinkedHashSet)的Map实现,通过调用putValue可以在相同key时加入多个值,多个值用集合表示
Set包装类 提供列表包装,用于在执行列表方法前后自定义处理逻辑
七曜(七政、七纬、七耀)
类型: 签名异常
Simhash是一种局部敏感hash,用于海量文本去重。
简单的Bean描述,只查找getter和setter方法,规则如下: 不匹配字段,只查找getXXX、isXXX、setXXX方法。
简单缓存,无超时实现,默认使用WeakConcurrentMap实现缓存自动清理
简单Collector接口实现
抽象日期基本信息类,提供日期格式、时区和地域信息。
简单的事件发布者实现,基于SubscriberEvent实现
简单可池化对象,此对象会同时持有原始对象和所在的分区
简单单线程任务调度器 通过自定义Job定时执行任务,通过SimpleScheduler.getResult() 可以获取调取时的执行结果
带有结果计算的任务 用户实现此接口,通过Runnable.run()实现定时任务的内容,定时任务每次执行或多次执行都可以产生一个结果 这个结果存储在一个volatile的对象属性中,通过SimpleScheduler.Job.getResult()来读取这一阶段的结果。
空白WatchListener 用户继承此类后实现需要监听的方法
简单包装对象 通过继承此类,可以直接使用被包装的对象,用于简化和统一封装
单占位符字符串模板
构造器
字符串模板-单变量占位符 SectionBuffer
当您希望仅对该绑定的所有注入重用一个实例时,将此应用于实现类
字节流接收器接口,用于将数据写入目标(如网络、存储或内存缓冲区)。
六曜(孔明六曜星)
元(60年=1元)
六十甲子(六十干支周)
干支日(立春换年,节令换月)
干支时辰(立春换年,节令换月,23点换日)
干支月
干支年
平滑权重对象
平滑加权轮询选择器 思路: 比如 A : 5 , B : 3 , C : 2 (服务器 A,B,C 对应权重分别是 5,3,2) ip: A,B,C weight: 5,3,2 (计算得到 totalWeight = 10) currentWeight: 0,0,0 (当前ip的初始权重都为0)
Twitter的Snowflake 算法 分布式系统中,有一些需要使用全局唯一ID的场景,有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。
类型: Socket异常
线程安全的SoftMap实现 键和值都为Soft引用,即,在GC报告内存不足时会被GC回收
软引用对象,在GC报告内存不足时会被GC回收
公历日
公历现代节日
公历半年
公历月
公历季度
节气第几天
节气
 
公历时刻
公历周
公历年
纳音
提供一个字节流 使用此接口从任何地方读取数据 它的位置:来自网络、存储或内存中的缓冲区 来源可能 分层以转换提供的数据,例如解压、解密或移除协议框架
基于事件源的事件实现
特殊类型转换器,如果不符合特殊类型,则返回null继续其它转换规则 对于特殊对象(如集合、Map、Enum、数组)等的转换器,实现转换 注意:此类中的转换器查找是通过遍历方式
特殊的 Thread,提供对 FastThreadLocal 变量的快速访问。
启用框架扩展和替换组件,服务提供发现机制, 实现方制定接口并完成对接口的实现
复制器抽象类 抽象复制器抽象了一个对象复制到另一个对象,通过实现Copier.copy()方法实现复制逻辑。
SSLContext构建器,可以自定义: 协议(protocol),默认TLS KeyManager,默认空 TrustManager,默认null SecureRandom,默认null 构建后可获得SSLContext,通过调用SSLContext.getSocketFactory()获取SSLSocketFactory
通过StackTrace方式获取调用者。
StackTraceElement 转换器 只支持Map方式转换
带有状态码的异常
标准的资源加载器
步进接口,此接口用于实现如何对一个对象按照指定步进增加步进 步进接口可以定义以下逻辑:
过滤词及一些简单处理
秒表封装 此工具用于存储一组任务的耗时时间,并一次性打印对比。
存放任务名称和花费时间对象
Stream 工具类
Stream进度条 提供流拷贝进度监测,如开始、结束触发,以及进度回调。
InputStream读取器
OutputStream写出器
字符类型枚举
密码强度等级枚举
严格的Bean信息描述做为BeanInfo替代方案,此对象持有JavaBean中的setters和getters等相关信息描述, 在获取Bean属性的时候,要求字段必须存在并严格匹配。
字符串转换器,提供各种对象转换为字符串的逻辑封装
字符串查找器
字符串格式化工具
基于字符串的InputStream
JDK中默认的字符串规范化实现
字符串连接器(拼接器),通过给定的字符串和多个元素,拼接为一个字符串 相较于StringJoiner提供更加灵活的配置,包括: 支持任意Appendable接口实现 支持每个元素单独wrap 支持自定义null的处理逻辑 支持自定义默认结果
null处理的模式
字符串工具类
字符串模式匹配,使用${XXXXX}作为变量,例如:
区间字符串替换,指定区间,将区间中的所有字符去除,替换为指定的字符串,字符串只重复一次 此方法使用String.codePoints()完成拆分替换
字符串或字符重复器 用于将给定字符串或字符赋值count次,然后拼接
抽象字符串替换类 通过实现replace方法实现局部替换逻辑
字符串资源,字符串做为资源
字符串模板-抽象 SectionBuffer
字符串切分迭代器 此迭代器是字符串切分的懒模式实现,实例化后不完成切分,只有调用ComputeIterator.hasNext()或遍历时才完成切分 此迭代器非线程安全
字符串裁剪器,用于裁剪字符串前后缀 强调去除两边或某一边的指定字符串,如果一边不存在,另一边不影响去除
字符串模板 格式化 和 反解析 抽象父类
抽象Builder
格式化 和 解析 策略
字符串头尾指定字符去除器 按照断言,除去字符串头尾部的断言为真的字符,如果字符串是null,依然返回null
去除模式
弱引用对象,在GC时发现弱引用会回收其对象
订阅者接口
可序列化的Supplier接口,支持异常抛出和多Supplier组合。
标点符号常量
线程同步结束器 在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。
同步流,可将包装的流同步为ByteArrayInputStream,以便持有内容并关闭原流
表格数据结构定义 此结构类似于Guava的Table接口,使用两个键映射到一个值,类似于表格结构。
单元格,用于表示一个单元格的行、列和值
可重复键和值的Map 通过键值单独建立List方式,使键值对一一对应,实现正向和反向两种查找 无论是正向还是反向,都是遍历列表查找过程,相比标准的HashMap要慢,数据越多越慢
宜忌
takeWhile 的 Spliterator
JDK8中新加入的java.time包对象解析转换器 支持的对象包括:
十神
WrappedStream的扩展,用于为实现类提供更多终端操作方法的增强接口, 该接口提供的方法,返回值类型都不为Stream
类型: 终止/结束
地势(长生十二神)
文本查找抽象类
文本相似度计算
类比 Executors
ThreadFactory创建器 参考:Guava的ThreadFactoryBuilder
线程池工具
存储所有 SpecificThreadThreadLocal 变量的内部数据结构。
线程安全注解 1.此注解放在类上,标识当前类为线程安全的 2.此注解放在方法上,标识方法是线程安全的
三候
定时缓存, 此缓存没有容量限制,对象只有在过期后才会被移除, 此缓存采用读写乐观锁,用于可脏读的场景,不能使用LinkedHashMap
定时缓存, 此缓存没有容量限制,对象只有在过期后才会被移除
在放弃一项任务之前要花多少时间的策略 当一个任务 超时时,它处于未指定的状态,应该被放弃 例如,如果从源读取超时,则应关闭该源并 稍后应重试读取 如果向接收器写入超时,也是一样 适用规则:关闭洗涤槽,稍后重试
类型: 超时异常
时间日期字符串,日期默认为当天,支持格式类似于;
TimeZone转换器
在协商安全插槽时可以提供的TLS版本 查看# setEnabledProtocols
类型: 令牌过期/其他
一个可以提供默认值的Map
日志追溯
链路跟踪
中国传统文化
使用给定的转换函数,转换源集合为新类型的集合
WrappedStream的扩展,用于为实现类提供更多中间操作方法的增强接口, 该接口提供的方法,返回值类型都为Stream
使用给定的转换函数,转换源Iterator为新类型的Iterator
自定义键和值转换的的Map 继承此类后,通过实现TransMap.customKey(Object)TransMap.customValue(Object),按照给定规则加入到map或获取值。
使用给定的转换函数,转换源Spliterator为新类型的Spliterator
树构建器
允许拥有一个父节点与多个子节点的Map.Entry实现, 表示一个以key作为唯一标识,并且可以挂载一个对应值的树节点, 提供一些基于该节点对其所在树结构进行访问的方法
树工具类
树节点 每个属性都可以在NodeConfig中被重命名 在你的项目里它可以是部门实体、地区实体等任意类树节点实体 类树节点实体: 包含key,父Key.不限于这些属性的可以构造成一颗树的实体对象
不可变三元组对象
三值表结构,可重复 用于提供三种值相互查找操作 查找方式为indexOf方式遍历查找,数据越多越慢。
Triplet 转换器,支持以下类型转为Triple: Bean,包含getLeftgetMiddlegetRight方法
不可变数组类型(元组),用于多值返回 多值可以支持每个元素值类型不同
Tuple转换器
黄道黑道十二神
运(20年=1运,3运=1元)
二十八宿
基本类型的getter接口 提供一个统一的接口定义返回不同类型的值(基本类型),定义类型包括: Object String Integer Short Boolean Long Character Float Double Byte BigDecimal BigInteger Enum Number Date java.sql.Time java.sql.Timestamp java.sql.Timestamp LocalDateTime LocalDate LocalTime 通过实现此接口,最简单方式为通过实现TypeGetter.getObject(Object, Object)方法,完成所有类型的值获取,获取默认采用 Convert方式自动转换。
针对 Type 的工具类封装 最主要功能包括:
Type类型参考 通过构建一个类型参考子类,可以获取其泛型参数中的Type类型。
ULID(Universally Unique Lexicographically Sortable Identifier)通用唯一词典分类标识符,特性: 与UUID的128位兼容性 每毫秒1.21e + 24个唯一ULID 按字典顺序(也就是字母顺序)排序 规范地编码为26个字符串,而不是UUID的36个字符 使用Crockford的base32获得更好的效率和可读性(每个字符5位) 不区分大小写 没有特殊字符(URL安全) 单调排序顺序(正确检测并处理相同的毫秒)
可序列化的UnaryOperator接口,支持异常抛出和类型转换操作。
类型: 未受检异常
提供Unicode字符串和普通字符串之间的转换
唯一键的Set 通过自定义唯一键,通过UniqueKeySet.uniqueGenerator生成节点对象对应的键作为Map的key,确定唯一 此Set与HashSet不同的是,HashSet依赖于Object.equals(Object)确定唯一 但是很多时候我们无法对对象进行修改,此时在外部定义一个唯一规则,即可完成去重。
日期时间单位,每个单位都是以毫秒为基数
全局命名空间上下文 见:https://www.ibm.com/developerworks/cn/xml/x-nmspccontext/
URI对象转换器
URL 生成器,格式形如:
URL对象转换器
URL解码,数据内容的类型是 application/x-www-form-urlencoded。
URL编码器,提供百分号编码实现
URL(Uniform Resource Locator)统一资源定位符相关工具类
URL中Path部分的封装
URL中查询字符串部分的封装,类似于:
编码模式 根据不同场景以及不同环境,对Query中的name和value采用不同的编码策略
URL资源访问类
提供通用唯一识别码(universally unique identifier)(UUID)实现,UUID表示一个128位的值。
UUID对象转换器转换器
类型: 校验异常
带有类验证的对象流,用于避免反序列化漏洞 详细见:https://xz.aliyun.com/t/41/
字段验证器(验证器),分两种类型的验证: isXXX:通过返回boolean值判断是否满足给定格式。
值提供者,用于提供Bean注入时参数对应值得抽象接口 继承或匿名实例化此接口 在Bean注入过程中,Bean获得字段名,通过外部方式根据这个字段名查找相应的字段值,然后注入Bean
配置注解,用于添加前缀
ValueProvider属性拷贝到Bean中的拷贝器
日期各个部分的枚举 与Calendar相应值对应
字符串版本表示,用于解析版本号的不同部分并比较大小。
版本比较器 比较两个版本的大小 排序时版本从小到大排序,即比较时小版本在前,大版本在后 支持如:1.3.20.8,6.82.20160101,8.5a/8.5c等版本形式 参考:java.lang.module.ModuleDescriptor.Version
类型: 版本异常
灶马头(灶神的坐骑)
VFS资源封装 支持VFS 3.x on JBoss AS 6+,JBoss AS 7 and WildFly 8+ 参考:org.springframework.core.io.VfsUtils
VIN是Vehicle Identification Number的缩写,即车辆识别号码。
观察者(监视器)
观察者链 用于加入多个观察者
监听事件类型枚举,包括:
监听工具类 主要负责文件监听器的快捷创建
路径监听器 监听器可监听目录或文件 如果监听的Path不存在,则递归创建空目录然后监听此空目录 递归监听目录时,并不会监听新创建的目录
WatchEvent 包装类,提供可选的监听事件和监听选项,实现方法包括: 注册:WatchServiceWrapper.registerPath(Path, int)注册需要监听的路径。
弱引用缓存 对于一个给定的键,其映射的存在并不阻止垃圾回收器对该键的丢弃,这就使该键成为可终止的,被终止,然后被回收。
线程安全的WeakMap实现 键和值都为Weak引用,即,在GC时发现弱引用会回收其对象
使用WeakHashMap(线程安全)存储对象的规范化对象,注意此对象需单例使用!
线程安全的WeakMap实现 键为Weak引用,即,在GC时发现弱引用会回收其对象
弱引用对象,在GC时发现弱引用会回收其对象
Web root资源访问对象
星期
星期枚举 与Calendar中的星期int值对应
确定值的选择器
A common set of Weigher and EntryWeigher implementations.
动态按权重随机的随机池,底层是list实现。
带有权重的对象包装
权重随机选择算法实现
DFA(Deterministic Finite Automaton 确定有穷自动机) DFA单词树(以下简称单词树),常用于在某大段文字中快速查找某几个关键词是否存在。
Stream实例的包装器,用于增强原始的Stream,提供一些额外的中间与终端操作。
包装接口
标记可写
通过一个 Writer和一个CharsetDecoder实现将字节数据输出为字符数据。
XML特殊字符转义 见:https://stackoverflow.com/questions/1091945/what-characters-do-i-need-to-escape-in-xml-documents
XXE安全相关参数 见:https://blog.spoock.com/2018/10/23/java-xxe/
日期转换器
XML工具类 此工具使用w3c dom工具,不需要依赖第三方包。
XML转换器,用于转换Map或Bean等
XML SAX方式读取器
XML的UNESCAPE
XML生成器
XPath相关工具类
XXE漏洞修复相关工具类 参考:https://blog.spoock.com/2018/10/23/java-xxe/
ZeroMQ Z85实现, 定义见:ZeroMQ Z85
Zip文件拷贝的FileVisitor实现,zip中追加文件,此类非线程安全 此类在遍历源目录并复制过程中会自动创建目标目录中不存在的上级目录
ZipFile 资源包装
压缩工具类
Zip文件或流读取器,一般用于Zip文件解压
Zip文件替换,用户替换源Zip文件,并生成新的文件
Zip资源表示,如Zip流资源或Zip文件资源
Zip安全相关类,如检查Zip bomb漏洞等
ZipInputStream 资源包装
Zip生成封装
生肖
时区计算
ZoneId转换器
ZoneIdTimeZone相关封装