Class ULID

java.lang.Object
org.miaixz.bus.core.data.id.ULID
All Implemented Interfaces:
Serializable, Comparable<ULID>

public class ULID extends Object implements Comparable<ULID>, Serializable
ULID(Universally Unique Lexicographically Sortable Identifier)通用唯一词典分类标识符,特性:
  • 与UUID的128位兼容性
  • 每毫秒1.21e + 24个唯一ULID
  • 按字典顺序(也就是字母顺序)排序
  • 规范地编码为26个字符串,而不是UUID的36个字符
  • 使用Crockford的base32获得更好的效率和可读性(每个字符5位)
  • 不区分大小写
  • 没有特殊字符(URL安全)
  • 单调排序顺序(正确检测并处理相同的毫秒)

参考:https://github.com/zjcscut/framework-mesh/blob/master/ulid4j/src/main/java/cn/vlts/ulid/ULID.java


   01AN4Z07BY      79KA1307SR9X4MV3
  |----------|    |----------------|
   Timestamp          Randomness
    48bits             80bits
 
Since:
Java 17+
Author:
Kimi Liu
See Also: