Java 生成 UUID[通俗易懂]

Java 生成 UUID[通俗易懂]1.UUID简介UUID含义是通用唯一识别码(UniversallyUniqueIdentifier),这是一个软件建构的标准。也是被开源软件基金会(OpenSoftwareFou

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1.UUID 简介

   UUID 含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准。

   也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部分。

   UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。

   如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。

2.UUID 组成

   UUID保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。

   按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。

UUID由以下几部分的组合:

(1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。

(2)时钟序列。

(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。

   UUID的唯一缺陷在于生成的结果串会比较长。关于UUID这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers)。

   标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12)。

3.项目实战

    UUID 来作为数据库数据表主键是非常不错的选择,保证每次生成的UUID 是唯一的。
a.生成 UUID

   public static void main(String[] args) {
        for(int i=0;i<10;i++){
            String uuid = UUID.randomUUID().toString().replaceAll("-", "");
            System.out.println(uuid);
        }
    } 

b.生成指定数目的 UUID

    /**
     * 获得指定数目的UUID 
     * @param number int 需要获得的UUID数量 
     * @return String[] UUID数组 
     */
    public static String[] getUUID(int number){
        if(number < 1){
            return null;
        }
        String[] retArray = new String[number];
        for(int i=0;i<number;i++){
            retArray[i] = getUUID();
        }
        return retArray;
    }

    /**
     * 获得一个UUID 
     * @return String UUID 
     */
    public static String getUUID(){
        String uuid = UUID.randomUUID().toString();
        //去掉“-”符号 
        return uuid.replaceAll("-", "");
    }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166739.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • IDEA插件之颜值篇Material Theme UI

    俗话说,工欲善其事必先利其器。工具的颜值也很重要,好的主题让人赏心悦目,有码代码的欲望。今天推荐一个IDEA颜值类插件:MaterialThemeUI大致效果安装方式IDEA插件官网地址:https://plugins.jetbrains.com/plugin/8006-material-theme-uiGITHUB地址:https://github.com/C…

  • Pytest(1)安装与入门「建议收藏」

    Pytest(1)安装与入门「建议收藏」pytest介绍pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它

  • linux ftp下载命令_centos如何连接ftp

    linux ftp下载命令_centos如何连接ftpLinuxFTP命令全集1前言下面就所有命令给出解释和例子。说明: 1.remote-file指远程文件,即服务器上的文件2.local-file 指本地文件,即本地机器上的文件2登录登出命令2.1ftp$ftp192.168.0.2格式:ftp[host]Host为ftp主机ip,此命令用来登录ftp服务器,登录后会提示输入账户和密码,账户和密码正确输入后,就会登录到…

  • java写helloworld_Java编写的第一个程序:HelloWorld

    java写helloworld_Java编写的第一个程序:HelloWorld原理:Java文件需要编译后才能运行,编译命令为javacHelloWorld.java(使用javac.exe命令),编译之后会出现以.class结尾的字节码文件(HelloWorld.class)。运行的是字节码文件,运行命令为javaHelloWorld在桌面上创建一个code文件夹,在code文件夹中创建一个HelloWorld.java文件1、编写代码在HelloWorld.jav…

  • 数据结构Elemtype「建议收藏」

    数据结构Elemtype「建议收藏」在C语言数据结构中,关于数据元素的类型定义均用“ElemTypee;”来表示,其中e是表示数据元素的变量,而ElemType则是它的类型,ElemType的含义就是“数据元素的类型”,是一个抽象的概念,是表示我们所要使用的数据元素应有的类型。ElemType是数据结构上为了说明问题而用的一个词。它是elementtype(“元素的类型”)的简化体。因为数据结构是讨论抽象的数据结构…

  • 垂直方向上下居中_如何实现垂直居中

    垂直方向上下居中_如何实现垂直居中一、盒子没有固定的宽和高方案1、Transforms变形这是最简单的方法,不仅能实现绝对居中同样的效果,也支持联合可变高度方式使用。内容块定义transform:translate(-50%,

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号