zoukankan      html  css  js  c++  java
  • 唯一识别码——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

  • 相关阅读:
    多种 网页文本编辑器 分析
    struts2 令牌 实现源代码 JSP
    ibatis 数据库时间 插入数据
    Eclipse/Myeclipse生成serialVersionUID方法
    SSM框架整合遇到的问题
    搭建Elasticsearch5.6.8 分布式集群
    使用SuperWebSocket 构建实时 Web 应用
    HAPROXY
    .NET面试题系列(二)GC
    MongoDB-3.4集群搭建:分片
  • 原文地址:https://www.cnblogs.com/1987721594zy/p/9183601.html
Copyright © 2011-2022 走看看