UUID基础介绍

jopen 10年前
UUID基础介绍

1.什么是UUID?

    UUID是通用唯一标识符(Universally Unique Identifier)。由128bit组成,如果用16进制表示,那么就是32个字符。表示形式如下:03e1c09e-4967-469c- 85f5-764c5b286d47(8-4-4-4-12)。

2.UUID的作用?

让分布式系统中的所有元素都能有唯一的辨识资讯,而不需要通过中央控制端来作辨别资讯的指定。

3.UUID由哪些元素组成才能让其成为唯一?

    UUID指在一台机器上生成的数字,他保证对在同一时空内的所有机器都是唯一的。说得明白一点就是它能保证无论在某时某地某台机器上它都能生成一个唯一字符串。

    组成部分:

        1)当前日期及时间

        2)时钟序列

        3)全局唯一的IEEE机器识别号。

4.怎么在java里创建UUID?

    在java里创建一个UUID非常简单,直接用java.util.UUID这个类提供的静态方法(一共有3个)即可创建出UUID.

    方法1:UUID.randomUUID(); 使用随机生成方式产生一个随机的UUID,调用version(),返回4;

    方法2:UUID.fromString("03e1c09e-4967-469c-85f5-764c5b286d47");使用随机生成方式产生一个指定的UUID,调用version(),返回4;

    方法3:UUID.nameUUIDFromBytes("03e1c09e-4967-469c-85f5-764c5b286d47".getBytes()); 使用根据名称方法产生一个UUID,调用version(),返回3;

    补充一点:生成UUID有4种生成方式:

        version value:1表示根据时间生成

        version value:2表示DCE security UUID

        version value:3表示根据名称生成

        version value:4表示随机生成

        这4种生成方法用1,2,3,4去表示,可以使用version()去获取这个值。例如使用UUID.randomUUID()生成一个UUID,那么调用version()方法就会得到数字4,表示该UUID是用随机方式生成的。