惟一识别码——UUID

一:什么是UUID

UUID 是 通用惟一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的全部元素,都能有惟一的辨识信息,而不须要经过中央控制端来作辨识信息的指定。如此一来,每一个人均可以建立不与其它人冲突的UUID。在这样的状况下,就不需考虑数据库建立时的名称重复问题。-----来自百度百科html

二:UUID组成:

UUID是指在一台机器上生成的数字,它保证对在同一时空中的全部机器都是惟一的。java

UUID由如下几部分的组合:
(1)当前日期和时间,UUID的第一个部分与时间有关,若是你在生成一个UUID以后,过几秒又生成一个UUID,则第一个部分不一样,其他相同。
(2)时钟序列。
(3)全局惟一的IEEE机器识别号,若是有网卡,从网卡MAC地址得到,没有网卡以其余方式得到。

三:UUID做用:

UUID在通常状况下很难生成一致的编码,不是说绝对的,可是就如今通常的使用状况下没有重复的出现,利用这个特色咱们能够做为数据库的主键区分各个实例。数据库

UUID的格式以下,由于java中有UUID这个工具类,专门来生成UUID,在java.util包中,因此很简单,直接调用方法便可。dom

能够将其理解成当前时空下惟一的一串字符串。一般用在激活码或者是ID上。 分布式

好比,用户使用邮箱进行注册了,可是怎样判断你这个邮箱是不是真实存在的呢,那么此时就能够给用户注册邮箱当中发送一封激活连接,连接当中包含了激活码。就下下面这张截图中展现的那样。后面给的参数code就是随机产生的UUID。 工具

这里写图片描述

四:UUID生成:

public static void main(String[] args) {
        System.out.println("格式前的UUID : " + UUID.randomUUID().toString());
    }

结果展现:ui

格式前的UUID : 19eb68ee-5abe-42ce-9adb-57aad8ea59dd

能够发现,结果里面有“-”,因此咱们能够去掉“-”,修改成一下代码:编码

下面展现的就是处理后的UUID,而且对其进行封装。提供一个public方法给外部使用。spa

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());
    }
}

输出结果为:.net

格式前的UUID : 68dcb13d-02ec-4233-b65a-6698830e0b51
格式化后的UUID :d39b37b98606404cad9077ae29884330

此文整合自:https://www.cnblogs.com/duzhentong/p/7816539.html    https://blog.csdn.net/chencong3139/article/details/73436733

相关文章
相关标签/搜索