| org.dromara.hutool.core |
Hutool核心方法及数据结构包
|
| org.dromara.hutool.core.annotation |
注解包,提供增强型注解和注解工具类,处理包括:
注解元素(AnnotatedElement)上的注解。
|
| org.dromara.hutool.core.annotation.elements |
AnnotatedElement对象实现
|
| org.dromara.hutool.core.array |
提供数组相关封装
|
| org.dromara.hutool.core.bean |
Bean相关操作,包括Bean信息描述,Bean路径表达式、动态Bean、Bean工具等
|
| org.dromara.hutool.core.bean.copier |
Bean拷贝实现,包括拷贝选项等
|
| org.dromara.hutool.core.bean.copier.provider |
Bean值提供者方式封装
|
| org.dromara.hutool.core.bean.path |
Bean路径,通过路径表达式查找或设置对象或子对象中的值
|
| org.dromara.hutool.core.bean.path.node |
Bean路径节点
|
| org.dromara.hutool.core.cache |
提供简易的缓存实现,此模块参考了jodd工具中的Cache模块
|
| org.dromara.hutool.core.cache.file |
提供针对文件的缓存实现
|
| org.dromara.hutool.core.cache.impl |
提供各种缓存实现
|
| org.dromara.hutool.core.classloader |
类加载相关封装和工具
|
| org.dromara.hutool.core.codec |
编码解码封装编码封装
|
| org.dromara.hutool.core.codec.binary |
BaseN编码解码,提供将bytes和baseN的编码转换功能。
|
| org.dromara.hutool.core.codec.hash |
提供Hash算法的封装
|
| org.dromara.hutool.core.codec.hash.metro |
MetroHash算法实现
参考:https://github.com/postamar/java-metrohash
|
| org.dromara.hutool.core.collection |
集合以及Iterator封装,包括集合工具CollUtil,Iterator和Iterable工具IterUtil
|
| org.dromara.hutool.core.collection.iter |
|
| org.dromara.hutool.core.collection.partition |
列表分区或分段
|
| org.dromara.hutool.core.collection.queue |
|
| org.dromara.hutool.core.collection.set |
|
| org.dromara.hutool.core.comparator |
各种比较器(Comparator)实现和封装
|
| org.dromara.hutool.core.compress |
压缩解压封装
|
| org.dromara.hutool.core.convert |
万能类型转换器以及各种类型转换的实现类,其中Convert为转换器入口,提供各种toXXX方法和convert方法
转换器是典型的策略模式应用,可自定义转换策略。
|
| org.dromara.hutool.core.convert.impl |
各种类型转换的实现类,其都为Converter接口的实现,用于将未知的Object类型转换为指定类型
|
| org.dromara.hutool.core.convert.impl.stringer |
针对对象转换为String的封装
|
| org.dromara.hutool.core.data |
数据相关封装和工具类
在Hutool中,“数据”是指社会属性的内容
如ID、电话、统一社会信用代码、密码、坐标系、数据脱敏等。
|
| org.dromara.hutool.core.data.id |
提供各种ID生成
|
| org.dromara.hutool.core.date |
日期封装,日期的核心为DateTime类,DateUtil提供日期操作的入口
|
| org.dromara.hutool.core.date.chinese |
|
| org.dromara.hutool.core.date.format.parser |
提供日期解析相关封装,主要包括:
DateParser
/ \
FastDateParser RegisterDateParser
(根据日期格式解析) (根据注册的模式匹配解析)
|
| org.dromara.hutool.core.exception |
特殊异常封装,同时提供异常工具ExceptionUtil
|
| org.dromara.hutool.core.func |
函数封装
接口灵感来自于 ActFramework
一个函数接口代表一个一个函数,用于包装一个函数为对象
在JDK8之前,Java的函数并不能作为参数传递,也不能作为返回值存在,此接口用于将一个函数包装成为一个对象,从而传递对象
|
| org.dromara.hutool.core.io |
IO相关封装和工具类,包括Inputstream和OutputStream实现类,工具包括流工具IoUtil、文件工具FileUtil和Buffer工具BufferUtil
|
| org.dromara.hutool.core.io.buffer |
|
| org.dromara.hutool.core.io.checksum |
IO校验相关库和工具
|
| org.dromara.hutool.core.io.checksum.crc16 |
CRC16相关算法封装为Checksum
|
| org.dromara.hutool.core.io.copy |
IO流拷贝相关封装相关封装
|
| org.dromara.hutool.core.io.file |
对文件读写的封装,包括文件拷贝、文件读取、文件写出、行处理等
|
| org.dromara.hutool.core.io.file.visitor |
FileVisitor功能性实现,包括递归删除、拷贝等
|
| org.dromara.hutool.core.io.resource |
针对ClassPath和文件中资源读取的封装,主要入口为工具类ResourceUtil
|
| org.dromara.hutool.core.io.stream |
InputStream和OutputStream相关方法和类封装
|
| org.dromara.hutool.core.io.unit |
数据单位相关封装,包括DataUnit数据单位和DataSize数据大小
|
| org.dromara.hutool.core.io.watch |
基于JDK7+ WatchService的文件和目录监听封装,支持多级目录
|
| org.dromara.hutool.core.io.watch.watchers |
文件监听中的观察者实现类,包括延迟处理、处理链等
|
| org.dromara.hutool.core.lang |
语言特性包,包括大量便捷的数据结构,包括:
ANSI:ANSI编码
Builder:构建器
Caller:查找调用者
Copier:拷贝(复制)
Generator:生成器
Getter:getXXX抽象
Intern:规范化表示形式
Loader:加载器的抽象
Mutable:可变值对象封装
Range:区间和边界封装
Tuple:元组
|
| org.dromara.hutool.core.lang.ansi |
命令行终端中ANSI 转义序列相关封装,如ANSI颜色等
|
| org.dromara.hutool.core.lang.builder |
建造者工具
用于建造特定对象或结果,建造者模式的抽象。
|
| org.dromara.hutool.core.lang.caller |
调用者接口及实现。
|
| org.dromara.hutool.core.lang.copier |
拷贝抽象实现,通过抽象拷贝,可以实现文件、流、Buffer之间的拷贝实现
|
| org.dromara.hutool.core.lang.generator |
提供生成器接口及相关封装
|
| org.dromara.hutool.core.lang.getter |
getXXX方法的接口和抽象实现
|
| org.dromara.hutool.core.lang.intern |
规范化表示形式封装
所谓规范化,即当两个对象equals时,规范化的对象则可以实现==
此包中的相关封装类似于 String#intern()
|
| org.dromara.hutool.core.lang.loader |
加载器的抽象接口和实现,包括懒加载的实现等
|
| org.dromara.hutool.core.lang.mutable |
提供可变值对象的封装,用于封装int、long等不可变值,使其可变
|
| org.dromara.hutool.core.lang.page |
|
| org.dromara.hutool.core.lang.range |
提供区间和边界封装,主要包括:
Bound: 提供边界的抽象表示,包括边界范围、开闭区间等。
|
| org.dromara.hutool.core.lang.ref |
|
| org.dromara.hutool.core.lang.selector |
|
| org.dromara.hutool.core.lang.tuple |
|
| org.dromara.hutool.core.lang.wrapper |
提供包装对象的抽象
通过包装接口,实现装饰模式或代理模式,以增强或目标对象功能。
|
| org.dromara.hutool.core.map |
Map相关封装,提供特殊Map实现以及Map工具MapUtil
|
| org.dromara.hutool.core.map.concurrent |
并发Map工具类
|
| org.dromara.hutool.core.map.multi |
多参数类型的Map实现,包括集合类型值的MultiValueMap和Table
MultiValueMap:一个键对应多个值的集合的实现,类似于树的结构。
|
| org.dromara.hutool.core.map.reference |
弱引用Map实现
|
| org.dromara.hutool.core.math |
提供数学计算相关封装,包括排列组合等,入口为MathUtil
|
| org.dromara.hutool.core.net |
网络相关工具
|
| org.dromara.hutool.core.net.ssl |
SSL相关封装
|
| org.dromara.hutool.core.net.url |
URL相关工具
|
| org.dromara.hutool.core.pool |
对象池封装实现
整体参考了:
https://github.com/DanielYWoo/fast-object-pool/
https://github.com/apache/commons-pool
|
| org.dromara.hutool.core.pool.partition |
基于分区的对象池实现,参考:https://github.com/DanielYWoo/fast-object-pool
|
| org.dromara.hutool.core.reflect |
提供反射相关功能对象和类
|
| org.dromara.hutool.core.reflect.creator |
对象实例化器,对象创建器
|
| org.dromara.hutool.core.reflect.kotlin |
Kotlin反射相关封装,需引入:
kotlin-stdlib
kotlin-reflect
|
| org.dromara.hutool.core.reflect.lookup |
|
| org.dromara.hutool.core.reflect.method |
提供方法相关封装
|
| org.dromara.hutool.core.regex |
正则表达式相关封装
|
| org.dromara.hutool.core.spi |
|
| org.dromara.hutool.core.stream |
Java8的stream相关封装
|
| org.dromara.hutool.core.stream.spliterators |
spliterator实现
|
| org.dromara.hutool.core.text |
提供文本相关操作的封装,还包括Unicode工具UnicodeUtil
|
| org.dromara.hutool.core.text.bloom |
布隆过滤,提供一些Hash算法的布隆过滤
|
| org.dromara.hutool.core.text.dfa |
DFA全称为:Deterministic Finite Automaton,即确定有穷自动机。
|
| org.dromara.hutool.core.text.escape |
提供各种转义和反转义实现
|
| org.dromara.hutool.core.text.finder |
文本查找实现,包括:
查找文本中的字符(正向、反向)
查找文本中的匹配字符(正向、反向)
查找文本中的字符串(正向、反向)
查找文本中匹配正则的字符串(正向)
|
| org.dromara.hutool.core.text.placeholder |
字符串占位符相关封装,包括占位符替换变量和解析变量
|
| org.dromara.hutool.core.text.placeholder.segment |
占位符节点
|
| org.dromara.hutool.core.text.placeholder.template |
字符串模板
|
| org.dromara.hutool.core.text.replacer |
文本替换类抽象及实现
|
| org.dromara.hutool.core.text.split |
字符串切分封装和工具类
|
| org.dromara.hutool.core.thread |
提供线程及高并发封装,入口为ThreadUtil
|
| org.dromara.hutool.core.thread.lock |
锁的实现
|
| org.dromara.hutool.core.thread.ratelimiter |
限流器实现,几种策略包括:
令牌桶(Token Bucket)
漏桶(Leaky Bucket)
固定窗口(Fixed Window)
滑动窗口(Sliding Window)
概念见:https://www.explainthis.io/zh-hans/swe/rate-limiter
|
| org.dromara.hutool.core.thread.threadlocal |
ThreadLocal相关封装
|
| org.dromara.hutool.core.tree |
提供通用树生成,特点:
1、每个字段可自定义
2、支持排序 树深度配置,自定义转换器等
3、支持额外属性扩展
4、贴心 许多属性,特性都有默认值处理
5、使用简单 可一行代码生成树
6、代码简洁轻量无额外依赖
|
| org.dromara.hutool.core.tree.parser |
节点解析器封装
|
| org.dromara.hutool.core.util |
提供各种工具方法,按照归类入口为XXXUtil,如字符串工具StrUtil等
|
| org.dromara.hutool.core.xml |
XML相关工具封装
|