UUID或者UNID或者UID,是一个统一唯一标识,可以用来标记文档、数据或其它需要唯一标识的东西。Java 5.0内置UUID的实现,见java.util.UUID. 下面代码是找到的2种实现方式,随手测了一下,两者时间效率居然出奇的相似,在10000000次循环中,均在660秒左右。

  1. import java.math.BigInteger;
  2. import java.util.Random;
  3. import java.util.UUID;
  4. public class UUIDTest {
  5. private static UUID uid = null;
  6. private static final Random RANDOM = new Random();
  7. public static String getUUID() {
  8. uid = UUID.randomUUID();
  9. String idstr = uid.toString().replace("-", "");
  10. return idstr.toUpperCase();
  11. }
  12. public static String generateGUID(){
  13. return new BigInteger(165, RANDOM).toString(36).toUpperCase();
  14. }
  15. /**
  16. * @param args
  17. */
  18. public static void main(String[] args) {
  19. int cycles = 100000000;
  20. long start = System.currentTimeMillis();
  21. for (int i = 0; i < cycles; i++) {
  22. //System.out.println(getUUID());
  23. getUUID();
  24. }
  25. long end = System.currentTimeMillis();
  26. String msg = "Time(ms) of getUUID() " + cycles + " times: " ;
  27. System.out.println (msg + (end - start));
  28. long start1 = System.currentTimeMillis();
  29. for (int i = 0; i < cycles; i++) {
  30. //System.out.println(generateGUID());
  31. generateGUID();
  32. }
  33. long end1 = System.currentTimeMillis();
  34. msg = "Time(ms) of generateGUID() " + cycles + " times: " ;
  35. System.out.println (msg + (end1 - start1));
  36. }
  37. }

2者所生成ID字串如下:

引用
FB0F88715B564691A85F28DBFDD57D90
E50999DA27624D7E81B89C47DF02DA92
E601B3C99AC4490E97EA0174860EEFDF
839DF94E497E45D09D5D7F34C531511F
54459B4DACF94097962A1C6017A35882
6A6CAF5667F74C24A28141CD287C44BE
7DF3E7F386934C4E9842E980E9E4C652
3370A0549E3C4C5EA3A5EFC53E5DC9B6
563F56BA980F43D3A07DF58B9F95F2EC
0968563C99E046B9944DFDD36CDDF5E2
GV9VQMTJC4NDFV5IB7N5IDWABQWF8M4M
LD0U9UKFPGG9LKKYHEWJSJ40OC57JHIQ
J9KTPM0Y9676256UNQTO7HFQG0G0CBDK
H0B4IVYNO99N918YIJ12PKA4T0R6P394
CTYE9DTF9IBUXXOR1SYCJYCRXD9H6KO9
2ZQ1CH3MGP5M3AOTFH1VJ3ZQ8M0CH2I5
MDGHQLHQ34A0Q9JNJ7S6WFAN8YV0M652
HVC2R84PT2ZKABL2FSSR84K9N5IG98WP
MGZ3NZJ5RS51KCL12KHLGURXCHZK8YNK
129RZPH0UPQO8SMCZZJFTY37G47T19KL

时间测试结果:

引用
Time(ms) of getUUID() 100000000 times: 669516
Time(ms) of generateGUID() 100000000 times: 663656
 

关于Java的UUID的更多相关文章

  1. Java的UUID

    UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OS ...

  2. java生成UUID通用唯一识别码 (Universally Unique Identifier)

    转自:http://blog.csdn.net/carefree31441/article/details/3998553 UUID含义是通用唯一识别码 (Universally Unique Ide ...

  3. (转)java生成UUID通用唯一识别码 (Universally Unique Identifier)

    (原文链接:http://blog.csdn.net/carefree31441/article/details/3998553)   UUID含义是通用唯一识别码 (Universally Uniq ...

  4. java 得到uuid并处理

    java 得到uuid String s = UUID.randomUUID().toString(); //去掉“-”符号 return s.substring(0,8)+s.substring(9 ...

  5. 利用Java生成UUID

    UUID是什么? UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分.其目的,是 ...

  6. java生成UUID

    UUID介绍: UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.按照开放软件基金会(OSF) ...

  7. JAVA Get UUID

    UUID是通用唯一标识码(Universally Unique Identifier),通过开源软件基金会(OSF)设立的一种算法生成.它的主要作用就是保证生成的字符串在同一时空中所有机器上都是唯一的 ...

  8. 利用Java.util.UUID来生成唯一ID(用来做数据库主键好用)

    UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.按照开放软件基金会(OSF)制定的标准计算, ...

  9. java.utils.UUID类介绍

    1 UUID介绍 UUID (Universally Unique Identifier)缩写,即通用唯一识别码,也是被开源软件基金会 (Open Software Foundation, OSF) ...

  10. java通过UUID生成16位唯一订单号

    import java.util.UUID; public class T { public static String getOrderIdByUUId() { int machineId = 1; ...

随机推荐

  1. threejs 浏览器窗口resize变化 自适应 html 全屏

    全屏:画布全屏和body页面全屏: // 导入 threejs import * as THREE from "three"; import { OrbitControls } f ...

  2. EDGE 浏览器占用内存优化

    windows + s 搜索 service 打开服务 : 找到下面 edge 三项 双击 把启动类型都改成 手动触发

  3. KubeSphere Helm 应用仓库源码分析

    作者:蔡锡生,LStack 平台研发工程师,近期专注于基于 OAM 的应用托管平台落地. 背景介绍 KubeSphere 应用商店简介 作为一个开源的.以应用为中心的容器平台,KubeSphere 在 ...

  4. AWS学习笔记-网络

    [用语]网络组件解释:https://zhuanlan.zhihu.com/p/137963921 VPC之间建立连接. VPC对等连接(VPC Peering) 私有子网中的实例访问Internet ...

  5. AWS服务 简介

    1 Amazon Elastic Compute Cloud (Amazon EC2) 是一种提供可调节计算容量的 Web 服务 – 简单来说,就是 Amazon 数据中心里的服务器 – 您可以使用它 ...

  6. ansible开局配置-openEuler

    ansible干啥用的就不多介绍了,这篇文章主要在说ansible的安装.开局配置.免密登录. ansible安装 查看系统版本 cat /etc/openEuler-latest 输出内容如下: o ...

  7. AI游戏外挂:强化学习算法用于棋牌类游戏的最优出牌策略 —— 如何在“斗地主”中使用AI技术获得最高胜率

    相关: https://zh.wikipedia.org/wiki/十三張 去年原打算接的一个小项目,不过后来没有搞下去,这里只记录一下. 这个项目的主要需要完成的一个功能就是图像识别,识别屏幕上的牌 ...

  8. 9-5 额外的string操作

    9.5.1 构造string的其他方法:略 9.5.2 改变string的其他方法:略 9.5.3 string搜索操作:略 9.5.4 compare函数:略 9.5.5 数值转换 int main ...

  9. Go中数组和切片

    数组和切片 [1].数组 1.什么是数组 一组数 数组需要是相同类型的数据的集合 数组是需要定义大小的 数组一旦定义了大小是不可以改变的. package main import "fmt& ...

  10. MySQL无开通SQL全审计下的故障分析方法

    几年前MySQL数据库出现突然的从库延迟故障和CPU爆高时,如何排查具体原因,可能说已在腾讯云的MySQL库里开启了SQL全审计,记录了全部执行的SQL,再通过下面的方法就可以很容易找到原因: 1,实 ...