简介
UUID是通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。目前最广泛应用的UUID,是微软公司的全局唯一标识符(GUID),而其他重要的应用,则有Linux ext2/ext3文件系统、LUKS加密分区、GNOME、KDE、Mac OS X等等。另外我们也可以在e2fsprogs包中的UUID库找到实现。
总之一句话,保证在不同时间、不同地点、不同设备上产生的UUID的唯一性,不重复。
Java生成UUID
在java中有现成的api可以直接生成UUID
1 | System.out.println(UUID.randomUUID().toString()); |
生成的结果每次都不一样,比如
1 | 47992182-32cc-4979-88b8-ee1db54b0172 |
可看出生成的UUID格式是这样的xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,位数为8-4-4-4-12共32位16进制,中间用”-“号隔开
如果想单纯返回32位16进制,可以用replace去掉“-”号
1 | System.out.println(UUID.randomUUID().toString().replace("-", "")); |
返回结果如下
1 | df12e44ebc3a420c808cdcdc6e650c6d |