代码先锋网 代码片段及技术文章聚合

java之UUID.randomUUID().toString()详细解析(全)

技术标签: java  java

前言

UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,主要是让让分布式系统中的所有元素,都能有唯一的辨识信息。

  • 为了提高效率,常用的UUID可缩短至16位比特数值
  • 使用UUID的一个好处是可以为新的服务创建新的标识符

1. 源码

生成的UUID标识符16位具体信息如下:

  • (1)当前日期和时间,值第一部分与时间有关(如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同)
  • (2)时钟序列
  • (3)全局唯一的IEEE机器识别号(如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得)
 public static UUID randomUUID() {
       
        SecureRandom ng = Holder.numberGenerator;
        byte[] randomBytes = new byte[16];
        ng.nextBytes(randomBytes);
        randomBytes[6]  &= 0x0f;  /* clear version        */
        randomBytes[6]  |= 0x40;  /* set to version 4     */
        randomBytes[8]  &= 0x3f;  /* clear variant        */
        randomBytes[8]  |= 0x80;  /* set to IETF variant  */
        return new UUID(randomBytes);
}

2. randomUUID().toString()

随机生成UUID的标识符是UUID类中的方法
而UUID.randomUUID().toString()是javaJDK提供的一个自动生成主键的方法

3. 实战案例

public class ThreadDemo4 {
    public static void main(String[] args) {
        //创建ArrayList集合
      List<String> list = new ArrayList<>();

        for (int i = 0; i <30; i++) {

            new Thread(()->{
                //向集合添加内容
                list.add(UUID.randomUUID().toString());
                //从集合获取内容
                System.out.println(list);
            },String.valueOf(i)).start();
        }
    }
}

代码截图
在这里插入图片描述

版权声明:本文为weixin_47872288原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_47872288/article/details/119573423

智能推荐

Android UUID.randomUUID()

按照时间信息,生成唯一一个十六位的数字,就是唯一性...

UUID.randomUUID()

UUID UUID (Universally Unique Identifier) :通用唯一识别码 , 是一种软件建构的标准 UUID的目的是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要 通过中央控制端来做辨识信息的指定 UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的 组成 使用...

关于UUID.randomUUID()

UUID UUID(Universally Unique IDentifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的 UUID.randomUUID().toString()是javaJDK(1.5以上的版本)提供的一个自动生成主键的方法,它生成的是以为32位的数字和字母组合的字符,中间还参杂着4个 - 符号。 作用:它可以作为我们表的标识列来增加,...

UUID类randomUUID()方法

randomUUID() method is available in java.util package. java.util软件包中提供了randomUUID()方法 。 randomUUID() method is used to return type 4 UUID and it constructed by pseudo-random number generator. randomUU...

单点登录常用生成token的操作-----UUID.randomUUID().toString()

授权令牌是一串随机字符,以什么样的方式生成都没有关系,只要不重复、不易伪造即可,下面是一个例子 /** *UUID.randomUUID().toString()是javaJDK提供的一个自动生成主键的方法。UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字, *它保证对在同一时空中的所有机器都是唯一的,是由一个十六位的数字组成,表现出...

猜你喜欢

java中的UUID.randomUUID()函数对应Python中的uuid函数

JAVA(1.7以上)中的UUID.randomUUID()函数 uuid到目前为止有5个版本。 uuid1是基于时间的版本 uuid2是跟uuid1差不多只是其中的一些算法转换会有区别 uuid3是基于Md5算法 uuid4是随机uuid uuid5跟3差不多,不过是机遇SHA1计算的 JAVA中的UUID.randomUUID()函数用的是uuid4的版本 对应Python中的uuid函数 p...

UUID.randomUUID()简单介绍

UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需...

UUID.randomUUID()的小结

UUID.randomUUID().toString()是javaJDK提供的一个自动生成主键的方法 UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的,是由一个十六位的数字组成,表现出来的形式。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过...