码迷,mamicode.com
首页 > 其他好文 > 详细

【随机数】生成用户的ID

时间:2021-01-29 12:10:44      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:算法   style   一个   基于   unique   随机   get   概率   lazy   

import java.util.UUID;

在java中的UUID包下的

UUID的全称为:Universally Unique IDentifier,也被称为GUID(Globally Unique IDentifier)。是一种由算法生成的唯一标识,它实质上是一个128位长的二进制整数。通常表示成32个16进制数组成的字符串,如:21EC2020-3AEA-1069-A2DD-08002B30309D。

Java的UUID是V3 V4

3. 基于名称空间的UUID(MD5)

基于名称的UUID通过计算名称和名称空间的MD5散列值得到,这个版本的UUID保证了:相同名称空间中不同名称生成的UUID的唯一性;不同名称空间中的UUID的唯一性;相同名称空间中相同名称的UUID重复生成是相同的。

4. 基于随机数的UUID

根据随机数,或者伪随机数生成UUID。这种UUID产生重复的概率是可以计算出来的,但随机的东西就像是买彩票:你指望它发财是不可能的,但狗屎运通常会在不经意中到来。可能在测试的时候多线程并发也不见得出现重复,但是却不能保证系统正式上线之后不会出现不重复的UUID,特别是在分布式系统中。

public static String getID()
    {
        return UUID.randomUUID().toString().replaceAll("-","");
    }

这里取得一个随机数

因为UUID的格式是 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

所以我们把-去掉 变成空  这样出来的ID就不会有符号了

我们用junit来测试一下

技术图片

 

【随机数】生成用户的ID

标签:算法   style   一个   基于   unique   随机   get   概率   lazy   

原文地址:https://www.cnblogs.com/cckong/p/14342461.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!