在分布式环境中,唯一ID生成应用十分广泛,生成方法也多种多样,Hutool针对一些常用生成策略做了简单封装。
唯一ID生成器的工具类,涵盖了:
- UUID
- ObjectId(MongoDB)
- Snowflake(Twitter)
UUID
UUID全称通用唯一识别码(universally unique identifier),JDK通过java.util.UUID
提供了 Leach-Salz 变体的封装。在Hutool中,生成一个UUID字符串方法如下:
//生成的UUID是带-的字符串,类似于:a5c8a5e8-df2b-4706-bea4-08d0939410e3Stringuuid=IdUtil.randomUUID(); //生成的是不带-的字符串,类似于:b17f24ff026d40949c85a24f4f375d42StringsimpleUUID=IdUtil.simpleUUID();
说明 Hutool重写
java.util.UUID
的逻辑,对应类为cn.hutool.core.lang.UUID
,使生成不带-的UUID字符串不再需要做字符替换,性能提升一倍左右。