Hutool
简介(摘自官网)
官方文档 https://hutool.cn/docs/
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。
Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;
Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。
下面介绍一些常用Util
LocalDateTime工具-LocalDateTimeUtil
LocalDateTimeUtil日期格式化:
//获得localDateTime,为2020-01-23T12:23:56
LocalDateTime localDateTime = LocalDateTimeUtil.parse("2020-01-23T12:23:56");
// 将2020-01-23T12:23:56转化为"2020-01-23 12:23:56"
String format = LocalDateTimeUtil.format(localDateTime, DatePattern.NORM_DATETIME_PATTERN);
parse方法:将String类型的字符串转换成LocalDateTime类型
format: 按指定的目标格式把LocalDateTime对象转换为String
Java8中的日期解析:
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String str = "2020-01-30 12:30:41";
LocalDateTime localDateTime = LocalDateTime.parse(str, dtf);
获取系统当前时间:
LocalDateTime.now();
System.out.println(LocalDateTime.now().format(DateTimeFormatter.ofPattern ("yyyy-MM-dd HH:mm:ss")));
//返回String类型时间格式
System.out.println(LocalDateTime.now());
//2022-10-28 21:42:00
//2022-10-28T21:42:00.577
文件工具类-FileUtil
字符串工具-StrUtil
缓存-CacheUtil
CacheUtil是缓存创建的快捷工具类。用于快速创建不同的缓存对象。
FIFOCache
FIFO(first in first out) 先进先出策略。元素不停的加入缓存直到缓存满为止,当缓存满时,清理过期缓存对象,清理后依旧满足删除先入的缓存(链表首部对象)。
优点:简单快速
缺点:不灵活,不能保证最常用的对象总是被保留
LFUCache
LFU(least frequently used) 最少使用率策略。根据使用次数来判定对象是否被持续缓存(使用率是通过访问次数计算),当缓存满时清理过期对象,清理后依旧满的情况下清除最少访问(访问计数最小)的对象并将其他对象的访问数减去这个最小访问数,以便新对象进入后可以公平计数。
LRUCache
LRU (least recently used)最近最久未使用缓存。根据使用时间来判定对象是否被持续缓存,当对象被访问时放入缓存,当缓存满了,最久未被使用的对象将被移除。此缓存基于LinkedHashMap,因此当被缓存的对象每被访问一次,这个对象的key就到链表头部。这个算法简单并且非常快,他比FIFO有一个显著优势是经常使用的对象不太可能被移除缓存。缺点是当缓存满时,不能被很快的访问。
TimedCache
定时缓存,对被缓存的对象定义一个过期时间,当对象超过过期时间会被清理。此缓存没有容量限制,对象只有在过期后才会被移除