Java 开源工具集 Hutool-5.8.41 发布,常规 bug 修复
Hutool 是一个功能丰富且易用的 Java 工具库,通过诸多实用工具类的使用,旨在帮助开发者快速、便捷地完成各类开发任务。 这些封装的工具涵盖了字符串、数字、集合、编码、日期、文件、IO、加密、数据库 JDBC、JSON、HTTP 客户端等一系列操作, 可以满足各种不同的开发需求。
------------------------------------------------------------------------------
此次为常规bug修复版本,比较重要的几个bug主要是修正了ReflectUtil缓存问题(只是缓存了的反射类不回收,略占点内存,性能还可能会更好一些),再就是修复了cron定时任务一个拖延了接近一年的bug,就是当任务数非常多,比如上万任务存在偶发性任务不执行问题,剩余更新如下:
🐣新特性
- 【core 】 增加WeakKeyValueConcurrentMap及其关联类,同时废弃WeakConcurrentMap并替换(issue#4039@Github)
- 【core 】 MapUtil增加removeByValue和removeIf方法
- 【core 】 ObjectUtil增加apply方法
- 【core 】 ReferenceUtil增加get方法
- 【db 】 Condition增加构造方法支持BETWEEN(issue#4041@Github)
- 【core 】 IoUtil.writeObjects判空避免空指针(issue#4049@Github)
- 【extra 】 OsInfo增加isWindows11方法(pr#4054@Github)
- 【extra 】 RedisDS增加getPool和getSetting方法(issue#ICVWDI@Gitee)
- 【core 】 NumberUtil.pow增加重载,支持指数自定义保留位数(pr#4052@Github)
- 【core 】 NumberUtil.isPrimes优化判断(pr#4058@Github)
- 【extra 】 Mail.buildContent改进,正文部分总在最前(issue#4072@Github)
- 【core 】 DataSizeUtil改进,兼容GiB等单位名称(issue#ICXXVF@Github)
- 【ai 】 Message增加setter和构造方法(issue#ICXTP2@Gitee)
- 【extra 】 PinyinUtil增加判空(pr#4081@Github)
- 【core 】 LocalDateTimeUtil.parseDate注释修正(pr#4085@Github)
- 【core 】 StrUtil增加null检查处理(pr#4086@Github)
- 【json 】 增加Record支持(pr#4096@Github)
- 【crypto 】 增加SpecUtil,KeyUtil增加generateRSAPrivateKey重载,(issue#ID1EIK@Gitee)
- 【core 】 RandomUtil增加randomStringLower方法
🐞Bug修复
- 【core 】 修复ReflectUtil中因class和Method关联导致的缓存无法回收问题(issue#4039@Github)
- 【db 】 修复Condition的Condition("discount_end_time", "!=", (String) null)方法生成SQL时,生成SQL不符合预期要求的错误(pr#4042@Github)
- 【core 】 修复IoUtil的closeIfPosible拼写错误,新建一个closeIfPossible方法,原方法标记deprecated(issue#4047@Github)
- 【http 】 修复HttpRequest.sendRedirectIfPossible未对308做判断问题。(issue#4053@Github)
- 【cron 】 修复CronPatternUtil.nextDateAfter当日为L时计算错误问题。(issue#4056@Github)
- 【db 】 修复NamedSql.replaceVar关键字处理问题(issue#4062@Github)
- 【db 】 修复DialectRunner.count方法中,去除包含多字段order by子句的SQL语句时错误问题(issue#4066@Github)
- 【extra 】 修复JschSessionPool并发问题(pr#4079@Github)
- 【extra 】 修复Sftp递归删除目录时使用相对路径可能导致死循环的问题(pr#1380@Gitee)
- 【db 】 修复SqlUtil.removeOuterOrderBy处理没有order by的语句导致异常问题(pr#4089@Github)
- 【extra 】 修复Sftp.upload目标路径为null时空指针问题(issue#ID14WX@Gitee)
- 【ai 】 修复AIConfigBuilder中方法名拼写错误(pr#1382@Gitee)
- 【core 】 修复StrBuildercharAt越界判断错误(pr#4094@Github)
- 【dfa 】 修复WordTree.addWord末尾为特殊字符导致的无法匹配问题(pr#4092@Github)
- 【core 】 修复ServiceLoaderUtil.loadFirstAvailable在JDK24+后未捕获异常导致的报错问题(pr#4098@Github)
- 【cron 】 修复CronTimer在任务非常多时,追赶系统时间导致遗漏任务的问题(issue#IB49EF@Gitee)
同类文章推荐: