Java 开源工具集 Hutool-5.8.41 发布,常规 bug 修复

软件资讯 软件资讯 发布于 3小时前 0 浏览 0 回复

Java 开源工具集 Hutool-5.8.41 发布,常规 bug 修复

                                 https://hutool.cn/

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)


同类文章推荐:

  • Wireshark 4.6 发布,最强开源网络数据包分析器
  • FreeBSD 15.0 Beta 1 发布,优化系统性能和用户体验
  • Ubuntu 26.04 LTS 代号公布:Resolute Raccoon
  • TIOBE 10 月榜单:C、C++ 和 Java 争夺第二名
  • Windows 10 将于10 月 14 日起 “停服”
  • LibreOffice 25.8.2 发布