相关文章推荐
体贴的风衣  ·  PHP返回32位与16位的md5加密值 - ...·  1 年前    · 
健壮的墨镜  ·  FxCop 代码分析(二进制分析)和 ...·  1 年前    · 
霸气的白开水  ·  手动触发事件实现checkbox的选中与取消 ...·  2 年前    · 
从容的柠檬  ·  Vue3、Vue2动态绑定图片 - 简书·  2 年前    · 
谦和的番茄  ·  使用Java保留文件创建时间 - 问答 - ...·  2 年前    · 
Code  ›  java开发_UUID(Universally Unique Identifier,全局唯一标识符)和GUID(Globally Unique Identifier,全球唯一标识符)开发者社区
string uuid
https://cloud.tencent.com/developer/article/1337885
深沉的台灯
1 年前
Hongten

java开发_UUID(Universally Unique Identifier,全局唯一标识符)和GUID(Globally Unique Identifier,全球唯一标识符)

前往小程序,Get 更优 阅读体验!
立即前往
腾讯云
开发者社区
文档 建议反馈 控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
Hongten
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
社区首页 > 专栏 > java开发_UUID(Universally Unique Identifier,全局唯一标识符)和GUID(Globally Unique Identifier,全球唯一标识符)

java开发_UUID(Universally Unique Identifier,全局唯一标识符)和GUID(Globally Unique Identifier,全球唯一标识符)

作者头像
Hongten
发布 于 2018-09-13 16:08:02
1.2K 0
发布 于 2018-09-13 16:08:02
举报
文章被收录于专栏: Hongten

GUID : 即Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) 。

所以GUID就是UUID。

GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。

从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。

下面是一个demo:

代码语言: javascript
复制
package com.mytest;
import java.util.UUID;
  * JDK1.5以上
public class UUIDTest {
    public static void main(String[] args) {
        UUID uuid = UUID.randomUUID();
        System.out.println(uuid);
}

输出结果:

代码语言: javascript
复制
1 fd61384b-05a5-4030-885e-a6bd3b60ef1a

下面是去除UUID中的"-"

代码语言: javascript
复制
 1 /**
 3  */
 4 package com.b510;
 6 import java.util.UUID;
 8 /**
 9  * @date 2012-11-7
10  * @author xhw
11  * 
12  */
13 public class UUIDTest {
14     /**
15      * 获得一个去掉"-"符号的UUID
16      * 
17      * @return String UUID
18      */
19     public static String getUUID() {
20         String s = UUID.randomUUID().toString();
21         // 去掉"-"符号
22         return s.substring(0, 8) + s.substring(9, 13) + s.substring(14, 18) + s.substring(19, 23) + s.substring(24);
23     }
25     /**
26      * 获得一个去掉"-"符号的UUID
27      * 
28      * @return
29      */
30     public static String getUuid() {
31         String s = UUID.randomUUID().toString();
32         // 去掉"-"符号
33         return s.replace("-", "");
34     }
36     /**
37      * 获得指定数目的UUID
38      * 
39      * @param number
40      *            int 需要获得的UUID数量
41      * @return String[] UUID数组
42      */
43     public static String[] getUUID(int number) {
44         if (number < 1) {
45             return null;
46         }
47         String[] ss = new String[number];
48         for (int i = 0; i < number; i++) {
49             if (i % 2 == 0) {
50                 ss[i] = getUuid();
51             } else {
52                 ss[i] = getUUID();
53             }
54         }
55         return ss;
56     }
58     public static void main(String[] args) {
59         String[] ss = getUUID(10);
60         for (int i = 0; i < ss.length; i++) {
61             System.out.println(ss[i]);
62         }
63     }
65 }

输出结果:

代码语言: javascript
复制
 1 /**
 2 ca31b9c6bff04ecfb5dfd1675905338d
 3 78af094061c04fc6b578a0f62aa09373
 4 51f228083c6e4dcb855a8e733efded7c
 5 fceca14fdc194d889c05c1dcf8ccaf3b
 6 4c7695ed08494b978fa9737dfe36f6a5
 7 b7573dbadfe84ba2b3659d1e49f8bf08
 8 f4391ba40f114ad19711a507971a994b
 9 6e1d576301c749bcb7b7943c1782a920
10 fb60bd4fe28d47c3975bb0eb6834e84e
11 5238ba7d27c7452698e075f64472fadf
12 */

上面提供了两种方法,去除UUID中的"-"

代码语言: javascript
复制
 1 /**
 2      * 获得一个去掉"-"符号的UUID
 3      * 
 4      * @return String UUID
 5      */
 6     public static String getUUID() {
 7         String s = UUID.randomUUID().toString();
 8         // 去掉"-"符号
 9         return s.substring(0, 8) + s.substring(9, 13) + s.substring(14, 18) + s.substring(19, 23) + s.substring(24);
10     }
12     /**
13      * 获得一个去掉"-"符号的UUID
14      * 
15      * @return
 
推荐文章
体贴的风衣  ·  PHP返回32位与16位的md5加密值 - 52php - 博客园
1 年前
健壮的墨镜  ·  FxCop 代码分析(二进制分析)和 .NET 分析器(源分析) - Visual Studio (Windows) | Microsoft Learn
1 年前
霸气的白开水  ·  手动触发事件实现checkbox的选中与取消 - 简书
2 年前
从容的柠檬  ·  Vue3、Vue2动态绑定图片 - 简书
2 年前
谦和的番茄  ·  使用Java保留文件创建时间 - 问答 - 腾讯云开发者社区-腾讯云
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号