Package org.aoju.bus.core.key
package org.aoju.bus.core.key
提供各种ID支持,ObjectID、UUID、Snowflake等
- Since:
- Java 17+
- Author:
- Kimi Liu
-
ClassDescriptionID生成器工具类,此工具类中主要封装:Long类型ID生成器,固定为19位长度 根据当前毫秒数和可选的服务器/实例ID生成唯一的数字ID 适合用作分布式应用程序中的数据库主键NanoId,一个小型、安全、对 URL友好的唯一字符串 ID 生成器,特点: 安全:它使用加密、强大的随机 API,并保证符号的正确分配 体积小:只有 258 bytes 大小(压缩后)、无依赖 紧凑:它使用比 UUID (A-Za-z0-9_~)更多的符号对象的全局唯一标识符 由12个字节组成,分割如下:进程ID单例封装 第一次访问时调用
ManagementFactory.getRuntimeMXBean()获取PID信息,之后直接使用缓存值分布式自增Id生成器(基于Twitter的Snowflake算法实现分布式高效有序ID)提供通用唯一识别码(universally unique identifier)(UUID)实现,UUID表示一个128位的值 此类拷贝自java.util.UUID,用于生成不带-的UUID字符串 这些通用标识符具有不同的变体 此类的方法用于操作 Leach-Salz 变体,不过构造方法允许创建任何 UUID 变体(将在下面进行描述) 变体 2 (Leach-Salz) UUID 的布局如下: long 型数据的最高有效位由以下无符号字段组成: