在您的 Maven POM 文件里加入:
<dependency>
<groupId>com.github.sigalhu</groupId>
<artifactId>common-utils</artifactId>
<version>1.0.8</version>
</dependency>
feature
- 升级 BeanUtils,功能包括:
- 支持获取参数化类型的泛型列表
- 支持获取指定类型实现的泛型接口的泛型列表
1.0.8 压缩工具和主动触发 GC
- 新增 CompressUtils,功能包括:
- 支持 zip 压缩解压
- 升级 SettingParser,功能包括:
- 注解方式支持默认配置项
- 升级 NumberUtils,功能包括:
- 判断是否为基本数值类型
- 支持将一个数值或字符串转换成指定的基本数值类型
- 升级 JsonUtils,功能包括:
- 支持获取 JSON Path 下复杂类型的值
- 支持构建复杂的 JSON 反序列化类型
- 升级 JvmUtils,功能包括:
- 支持获取 Old GC 总次数
- 支持主动触发 Old GC
- 支持通过 jmap 触发 Full GC
- 支持获取进程 id
1.0.7 配置解析器和最近窗口均值计算器
- 升级 CostTimer,功能包括:
- 支持添加耗时信息
- 支持累次计时
- 提升计时精度
- 升级 BeanUtils,功能包括:
- 支持将 Method 和 Constructor 转换为函数式接口,调用性能接近直接调用
- 支持解析泛型类型
- 升级 NumberUtils,功能包括:
- 支持解析字符串为基本数据类型
- 继承 commons-lang3 中的 NumberUtils,增强通用性
- 升级 ArrayUtils,功能包括:
- 继承 commons-lang3 中的 ArrayUtils,增强通用性
- 新增 JvmUtils,功能包括:
- 支持获取 GC 总次数
- 支持主动触发 GC
- 新增 RecentAverageCalculator,功能包括:
- 计算并获取最近窗口的均值
- 比较当前值与最近均值
- 新增 SettingParser,功能包括:
- 解析配置为 Boolean/Double/Long 等基础类型
- 支持自定义解析规则
- 支持通过注解的方式批量解析配置
1.0.6 数组工具和 JSON 的左值相等
- 新增 ArrayUtils,功能包括:
- 将包括基本数据类型在内的数组对象转化为 Object 数组
- 将包括基本数据类型在内的数组对象转化为固定大小的列表
- 升级 BeanUtils,功能包括:
- 获取 bean 指定字段路径值的集合,包括数组字段
- 升级 JsonUtils,功能包括:
- 判断 JSON 对象左值和右值是否相等,只比较左值及嵌套的 JSON 对象包含的属性
1.0.5 计时器
- 新增 CostTimer,功能包括:
- 提供阶段计时/闭包计时/Closeable计时
- 支持子计时器,对子阶段进行计时
- 支持参数控制子计时器是否计时,提高性能和灵活性
- 升级 Try 工具类,功能包括:
- 捕获声明 throws 的 Runnable 抛出的异常,并抛出 RuntimeException 或执行兜底方法
1.0.3 过滤 Bean、可以比较不同类型数值的 NumberUtils
- 新增 BeanFilter,功能包括:
- 判断传入实例是否符合筛选条件
- 关系运算符包括等于、包含、小于、小于等于、大于、大于等于、属于
- 逻辑运算符包括与、或、非
- 新增 NumberUtils,功能包括:
- 比较数据类型的数值大小
- 判断是否相等,当为数据类型时,比较数值是否相等
- 将数据类型的数值转换为 64 bits
- 升级 BeanUtils,功能包括:
- 获取 bean 指定字段路径值的集合
- 缓存所有获取的 getter/setter
1.0.2 高效的 BeanUtils
- 新增 BeanUtils,功能包括:
- 获取 bean 的所有属性 getter Function,性能接近直接调用 bean getter
- 获取 bean 的所有属性 setter BiConsumer,性能接近直接调用 bean setter
1.0.1 id 生成器
- 新增 IdGenerator 以生成 id
- RandomIdGenerator 为随机 id 生成器,同一进程内生成的 id 唯一
- UniqueIdGenerator 为唯一 id 生成器,实例数不超过64时,生成的 id 唯一
1.0.0 新增工具类、Pipeline
- 新增 AnnotationReflectUtils 工具类,功能包括:
- 修改注解的属性
- 新增 Assert 工具类,功能包括:
- 可以通过实例化或在静态方法传入 function 来指定要抛出的异常
- 判断 expression、object、text、array、collection、map 的状态以确定是否抛出异常
- 新增 MetricCalculator 工具类,功能包括:
- 计算 percent、tps、latency、incr、sum
- 新增 ThreadPoolMonitor 工具类,功能包括:
- 打印传入线程池的状态日志
- 新增 Try 工具类,功能包括:
- 捕获声明 throws 的方法抛出的异常,并抛出 RuntimeException 或执行兜底方法
- 新增 Processors 以支持流水线处理
- Processor 为基础单元,可以执行处理逻辑,跳过处理或打印耗时
- PipelineProcessor 为流水线,可以依次处理传入的 Processors,当传入的 Processor 发生异常或返回成功/失败时,中止执行
- DispatchProcessor 为分发器,可以依次处理传入的 Processors,每个 Processor 互不影响,都会被执行