唯一识别码——UUID

一:什么是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

猜你喜欢

转载自www.cnblogs.com/1987721594zy/p/9183601.html