Java之UUID简单介绍
下文笔者讲述Java中UUID的简介说明,如下所示
UUID简介
UUID(英文简写Universally Unique Identifier) 通用唯一识别码。 UUID由一组32位数的16进制数字所构成 UUID的标准型式包含32个16进制数字 以连字号分为五段 形式为8-4-4-4-12的32个字符 例: 23243ui2-w23a-6238-b421-333390811316
UUID组成
UUID: 指在一台机器上生成的数字 它保证对在同一时空中的所有机器都是唯一
UUID由以下几部分的组合
当前日期和时间 UUID第一个部分与时间有关 当生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同
时钟序列
全局唯一IEEE机器识别号 有网卡,从网卡MAC地址获得,没有网卡以其他方式获得 UUID的唯一缺陷在于生成的结果串会比较长 UUID这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers)。
UUID编码规则
UUID(Universally Unique Identifier)全局唯一标识符,定义为一个字符串主键,采用32位数字组成,编码采用16进制,定义了在时间和空间都完全唯一的系统信息。 UUID的标准格式:xxxxxxxx-xxxx-Axxx-Bxxx-xxxxxxxxxxxx A那个位置,代表版本号,由于UUID的标准实现有5个版本,所以只会是1,2,3,4,5 B那个位置,只会是8,9,a,b
UUID的功能
UUID使分布式系统中的所有元素都能有唯一的辨识信息 而不需要通过中央控制端来做辨识信息的指定 我们采用这种方式创建的UUID不会与其他任何ID冲突
Java中生成UUID三种方式
UUID.randomUUID(); UUID.fromString("343cba67-a890-12bc-bcf8-b3458902315a"); UUID.nameUUIDFromBytes("个人信息".getBytes()); randomUUID() 随机获取一个UUID,有极小的概率会重复 fromString() 根据一个符合UUID格式的字符串获取,不常用,我都有了还获取干嘛。 nameUUIDFromBytes() 根据一个字节数组获取,一般要求给定的字节数组不重复
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。