UUID
是Universally Unique IDentifier
的缩写,翻译为通用唯一标识符或者全局唯一标识符。对于UUID
的描述,下面摘录一下规范文件A Universally Unique IDentifier (UUID) URN Namespace
中的一些描述:
UUID(也称为GUID)定义了统一资源名称命名空间。UUID的长度为128比特,可以保证在空间和时间上的唯一性。
动机:
使用UUID的主要原因之一是不需要集中式管理,其中一种格式限定了IEEE 802节点标识符,其他格式无此限制。可以自动化按需生成UUID,应用于多重不同的场景。UUID算法支持极高的分配速率,每台机器每秒钟可以生成超过1000万个UUID,因此它们可以作为事务ID使用。UUID具有固定大小128比特,与其他替代方案相比,它具有体积小的优势,非常适用于各种排序、散列和存储在数据库中,具有编程易用性的特点。
这里只需要记住UUID
几个核心特定:
128
比特,也就是16
字节(1 byte = 8 bit
)1000
万个UUID
(实际上更高)下面就JDK
中的UUID
实现详细分析一下UUID
生成算法。编写本文的时候选用的JDK
为JDK11
。