一:什么是UUID
UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。-----来自百度百科
二:UUID组成:
UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。
UUID由以下几部分的组合:
(1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
(2)时钟序列。
(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。
三:UUID作用:
UUID在一般情况下很难生成一致的编码,不是说绝对的,但是就现在一般的使用情况下没有重复的出现,利用这个特点我们可以作为数据库的主键区分各个实例。
UUID的格式如下,因为java中有UUID这个工具类,专门来生成UUID,在java.util包中,所以很简单,直接调用方法即可。
可以将其理解成当前时空下唯一的一串字符串。通常用在激活码或者是ID上。
比如,用户使用邮箱进行注册了,但是怎样判断你这个邮箱是否是真实存在的呢,那么此时就可以给用户注册邮箱当中发送一封激活链接,链接当中包含了激活码。就下下面这张截图中展示的那样。后面给的参数code就是随机产生的UUID。
四:UUID生成:
public static void main(String[] args) { System.out.println("格式前的UUID : " + UUID.randomUUID().toString()); }
结果展示:
格式前的UUID : 19eb68ee-5abe-42ce-9adb-57aad8ea59dd
可以发现,结果里面有“-”,所以我们可以去掉“-”,修改为一下代码:
下面展示的就是处理后的UUID,并且对其进行封装。提供一个public
方法给外部使用。
package cc.ccoder.mail.utils; import java.util.UUID; /** * * @TODO: 生成随机字符串的工具类 uuid */ public class UUIDUtils { public static String getUUID(){ return UUID.randomUUID().toString().replace("-", ""); } public static void main(String[] args) { System.out.println("格式前的UUID : " + UUID.randomUUID().toString()); System.out.println("格式化后的UUID :" + getUUID()); } }
输出结果为:
格式前的UUID : 68dcb13d-02ec-4233-b65a-6698830e0b51
格式化后的UUID :d39b37b98606404cad9077ae29884330
此文整合自:https://www.cnblogs.com/duzhentong/p/7816539.html https://blog.csdn.net/chencong3139/article/details/73436733