Package org.miaixz.bus.core.data.id
package org.miaixz.bus.core.data.id
-
ClassDescriptionID生成器工具类,此工具类中主要封装:NanoId,一个小型、安全、对 URL友好的唯一字符串 ID 生成器,特点: 安全:它使用加密、强大的随机 API,并保证符号的正确分配 体积小:只有 258 bytes 大小(压缩后)、无依赖 紧凑:它使用比 UUID (A-Za-z0-9_~)更多的符号MongoDB ID生成策略实现 ObjectId由以下几部分组成:进程ID单例封装 第一次访问时调用
ManagementFactory.getRuntimeMXBean()获取PID信息,之后直接使用缓存值Twitter的Snowflake 算法 分布式系统中,有一些需要使用全局唯一ID的场景,有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。ULID(Universally Unique Lexicographically Sortable Identifier)通用唯一词典分类标识符,特性: 与UUID的128位兼容性 每毫秒1.21e + 24个唯一ULID 按字典顺序(也就是字母顺序)排序 规范地编码为26个字符串,而不是UUID的36个字符 使用Crockford的base32获得更好的效率和可读性(每个字符5位) 不区分大小写 没有特殊字符(URL安全) 单调排序顺序(正确检测并处理相同的毫秒)提供通用唯一识别码(universally unique identifier)(UUID)实现,UUID表示一个128位的值。