雪花算法
SnowflakeUtil
标准雪花 ID 的静态工具类,提供生成、解析、校验与配置读取能力
SnowflakeUtil
SnowflakeUtil 位于 com.xlf.utility.utility,内部持有单例 SnowflakeIdGenerator。
它是业务层最常用的标准雪花 ID 入口。
初始化机制
- Spring 环境:由
SnowflakeUtilInitializer调用initialize(...)完成初始化。 - 非 Spring 环境:首次调用时按默认值懒初始化(
datacenterId=1、machineId=1、epoch=1729440000000)。
方法列表
生成方法
字段
类型
解析方法
字段
类型
校验与配置
字段
类型
使用示例
生成与解析
import com.xlf.utility.models.dto.SnowflakeInfoDTO;
import com.xlf.utility.utility.SnowflakeUtil;
long id = SnowflakeUtil.generateId();
String idString = SnowflakeUtil.generateIdString();
long realTimestamp = SnowflakeUtil.parseTimestamp(id);
SnowflakeInfoDTO info = SnowflakeUtil.parseInfo(id);
System.out.println(idString);
System.out.println(realTimestamp);
System.out.println(info.getGeneratedTime());合法性校验
Long id = SnowflakeUtil.generateId();
boolean ok = SnowflakeUtil.isValid(id);
boolean invalid = SnowflakeUtil.isValid(null);非 Spring 场景手动初始化
import com.xlf.utility.incrementer.SnowflakeIdGenerator;
import com.xlf.utility.utility.SnowflakeUtil;
SnowflakeIdGenerator generator = new SnowflakeIdGenerator(1, 1, 1690214400000L);
SnowflakeUtil.initialize(generator);