精华内容
下载资源
问答
  • c 代码的UUID生成源码

    2020-02-09 10:33:24
    一个很不错的UUID 生成源码,UUID 由RFC4122文档定义,里面有实现,不过需要加上SHA1算法,MD5算法才完整。整理了SHA1 MD5算法,实现了一个可直接使用的UUID生成算法。
  • UUID生成

    2018-01-30 15:34:43
    解压就可以运行,已打包jre,跟环境无关,并提供代码。可以提供给收集数据人员使用。
  • UUID生成工具

    2018-08-28 17:14:30
    包含64位和32位的UUID,其中有详细注释,简明易懂。
  • uuid生成工具类

    2018-03-23 11:40:10
    有序UUID生成器 借鉴hibernate的UUID生成器 CustomVersionOneStrategy。
  • 一个简单的UUID v4生成模块 起源 该模块基于对的最小字节答案。 该答案已修改为: 受到好评 在浏览器和双方的NodeJS运行浏览器打包为ES6模块 用法 npm install @freeasin/uuid 节点JS const { v4 } = require(...
  • 一个使用C ++ 11的简单UUID生成器。 该程序是使用C ++ 11的简单128位UUID生成器。 请注意,这不是符合RFC4122的UUID。 有关符合RFC4122的UUID的更多信息,请参考 。 如果您正在寻找兼容RFC4122的UUID,请尝试或从...
  • UUID生成工具类

    2015-10-15 12:27:37
    UUID生成工具类
  • java uuid生成器 Java UUID (Java UUID) Java UUID (Universally Unique Identifier) class is part of java.util package. Java UUID class represents an immutable universally unique identifier and represents...

    java uuid生成器

    Java UUID (Java UUID)

    Java UUID (Universally Unique Identifier) class is part of java.util package. Java UUID class represents an immutable universally unique identifier and represents 128-bit value. It is also known as GUID (Globally Unique Identifier).

    Java UUID(通用唯一标识符)类是java.util包的一部分。 Java UUID类表示一个不变的通用唯一标识符,并表示128位值。 也称为GUID(全局唯一标识符)。

    Java UUID用法 (Java UUID Usage)

    Java UUID is used to create following:

    Java UUID用于创建以下内容:

    Java UUID构造函数 (Java UUID Constructor)

    public UUID(long  mostSigBits,  long  leastSigBits)

    Creates a new UUID using specified data.

    使用指定的数据创建新的UUID。

    UUID版本和变体 (UUID Version & Variants)

    There are different variants of UUID but mostly we will see variant 2 (Leach-Salz) in our examples.

    java uuid version variant

    UUID有不同的变体,但是在大多数示例中,我们将看到变体2(Leach-Salz)。

    UUID variants:

    UUID变体:

    1. 0 – Reserved for NCS backward compatibility

      0 –保留用于NCS向后兼容
    2. 2 – Leach-Salz

      2 –里奇-萨尔茨
    3. 6 – Reserved, Microsoft Corporation backward compatibility

      6 –保留,Microsoft Corporation向后兼容
    4. 7 – Reserved for future definition

      7 –保留以供将来定义

    UUID Versions:

    UUID版本:

    1. time-based(version 1)

      基于时间(版本1)
    2. DCE Security(version 2)

      DCE安全性(版本2)
    3. name-based(version 3)

      基于名称(版本3)
    4. randomly generated UUID(version 4)

      随机生成的UUID(版本4)

    Java UUID生成器 (Java UUID Generator)

    We can use java-uuid-generator maven dependency for generating UUID. You can include that using below maven dependency.

    我们可以使用java-uuid-generator maven依赖项来生成UUID。 您可以使用下面的maven依赖项将其包括在内。

    <dependency>
        <groupId>com.fasterxml.uuid</groupId>
        <artifactId>java-uuid-generator</artifactId>
        <version>3.1.4</version>
    </dependency>

    Let’s have a look at the below java uuid generator example program.

    让我们看一下下面的java uuid generator示例程序。

    package com.journaldev.examples;
    
    import java.util.UUID;
    
    import com.fasterxml.uuid.Generators;
    
    /**
     * Java UUID Generator
     *
     */
    public class UUIDVersionExample {
    
    	public static void main(String[] args) {
    		
    		//Generate time-based UUID
    		UUID uuid1 = Generators.timeBasedGenerator().generate();
    		System.out.println("UUID : "+uuid1);
    		System.out.println("UUID Version : "+uuid1.version());
    		System.out.println("UUID Variant : "+uuid1.variant());
    		
    		//Generate random UUID
    		UUID uuid2 = Generators.randomBasedGenerator().generate();
    		System.out.println("UUID : "+uuid2);
    		System.out.println("UUID Version : "+uuid2.version());
    		System.out.println("UUID Variant : "+uuid2.variant());
    	}
    
    }

    Output of the above uuid generator program is below:

    上面的uuid生成器程序的输出如下:

    UUID : 5fc03087-d265-11e7-b8c6-83e29cd24f4c
    UUID Version : 1
    UUID Variant : 2
    UUID : e8e3db08-dc39-48ea-a3db-08dc3958eafb
    UUID Version : 4
    UUID Variant : 2

    Java UUID方法 (Java UUID Methods)

    Let’s have a look at the below UUID methods with example program.

    让我们看一下下面的带有示例程序的UUID方法。

    1. randomUUID(): This is a static factory method to fetch type 4 random UUID.

      randomUUID() :这是一种静态工厂方法,用于获取类型4随机UUID。
    2. package com.journaldev.examples;
      
      import java.util.UUID;
      /**
       * Java UUID randomUUID Example
       *
       */
      public class UUIDExample {
      
      	public static void main(String[] args) {
      		//initialize uuid
      		UUID uuid = UUID.randomUUID();
      		System.out.println(uuid);
      
      	}
      
      }

      Output of the above program is below:

      上面程序的输出如下:

      84cff9ea-de0f-4841-8645-58620adf49b2
    3. fromString(String name): This method creates UUID from specified string. This is useful when you have to convert string to UUID object.

      fromString(String name) :此方法从指定的string创建UUID。 当您必须将字符串转换为UUID对象时,这很有用。
    4. package com.journaldev.examples;
      
      import java.util.UUID;
      /**
       * Java UUID fromString Example
       *
       */
      public class UUIDExample {
      
      	public static void main(String[] args) {
      		//initialize uuid
      		UUID uuid = UUID.fromString("84cff9ea-de0f-4841-8645-58620adf49b2");
      		System.out.println(uuid);
      
      	}
      
      }
    5. clockSequence(): This method returns clock sequence associated with UUID and to fetch clock sequence we need to create time-based (version 1) UUID otherwise it will throw UnsupportedOperationException.

      clockSequence() :此方法返回与UUID关联的时钟序列,并且要获取时钟序列,我们需要创建基于时间的(版本1)UUID,否则它将抛出UnsupportedOperationException
    6. package com.journaldev.examples;
      
      import java.util.UUID;
      
      import com.fasterxml.uuid.Generators;
      
      /**
       * Java UUID Clock Sequence Program
       *
       */
      public class UUIDClockSequenceExample {
      
      	public static void main(String[] args) {
      		// Generate time-based UUID
      		UUID uuid = Generators.timeBasedGenerator().generate();
      		System.out.println("UUID : " + uuid);
      		System.out.println("UUID Clock Sequence : "+uuid.clockSequence());
      	}
      }

      Output of the above program is below:

      上面程序的输出如下:

      UUID : 52334bd0-d266-11e7-a11d-0148035fb8f1
      
      UUID Clock Sequence : 8477
    7. getLeastSignificantBits(): This method returns least significant 64 bits of UUID.

      getLeastSignificantBits() :此方法返回UUID的最低有效64位。
    8. getMostSignificantBits(): This method returns most significant 64 bits of UUID.

      getMostSignificantBits() :此方法返回UUID的最高有效64位。
    9. package com.journaldev.examples;
      
      import java.util.UUID;
      
      /**
       * Java UUID Least and Most Significant Bits Example Program
       *
       */
      public class UUIDLsbMsbExample {
      
      	public static void main(String[] args) {
      		
      		//initialize uuid
      		UUID uuid = UUID.randomUUID();
      		System.out.println("UUID : "+uuid);
      		System.out.println("Least Significant Bits : "+uuid.getLeastSignificantBits());
      		System.out.println("Most Significant Bits : "+uuid.getMostSignificantBits());
      	}
      
      }

      Output of the above java UUID example program is:

      上面的Java UUID示例程序的输出为:

      UUID : 5b08be16-2cb6-46d5-bf98-7d7d750df0ca
      Least Significant Bits : -4640821438217064246
      Most Significant Bits : 6559701859713828565
    10. nameUUIDFromBytes(byte[] name): This is a static factory method and used to fetch name-based (version 3) UUID using specified byte array.

      nameUUIDFromBytes(byte[] name) :这是一个静态工厂方法,用于使用指定的字节数组获取基于名称的(版本3)UUID。
    11. package com.journaldev.examples;
      
      import java.util.UUID;
      
      /**
       * Java UUID From Byte Array Example Program
       *
       */
      public class UUIDFromBytesExample {
      
      	public static void main(String[] args) {
      		
      		//initialize byte array
      		byte[] bs = {1, 2, 3};
      		//initialize uuid using byte array
      		UUID uuid = UUID.nameUUIDFromBytes(bs);
      		System.out.println("UUID : "+uuid);
      		System.out.println("UUID Version : "+uuid.version());
      
      	}
      
      }

      Output of the above program is:

      上面程序的输出是:

      UUID : 5289df73-7df5-3326-bcdd-22597afb1fac
      UUID Version : 3
    12. node(): This method returns long value of node from UUID and to fetch node value we need to create time-based (version 1) UUID otherwise it will throw UnsupportedOperationException.

      node() :此方法从UUID返回节点的long值,并且要获取节点值,我们需要创建基于时间的(版本1)UUID,否则它将抛出UnsupportedOperationException
    13. package com.journaldev.examples;
      
      import java.util.UUID;
      
      import com.fasterxml.uuid.Generators;
      
      /**
       * Java UUID Node Example Program
       *
       */
      public class UUIDNodeExample {
      
      	public static void main(String[] args) {
      		//Generate time-based uuid
      		UUID uuid = Generators.timeBasedGenerator().generate();
      		System.out.println("UUID : "+uuid);
      		System.out.println("UUID Version : "+uuid.version());
      		System.out.println("UUID Node : "+uuid.node());
      
      	}
      
      }
      UUID : 2e15baa3-d272-11e7-a479-05de8af2b6bd
      UUID Version : 1
      UUID Node : 6453372040893
    14. timestamp(): This method returns timestamp value of UUID UUID and to fetch timestamp value we need to create time-based(version 1) UUID otherwise it will throw UnsupportedOperationException.

      timestamp() :此方法返回UUID UUID的时间戳值,并获取时间戳值,我们需要创建基于时间的(版本1)UUID,否则它将抛出UnsupportedOperationException。
    package com.journaldev.examples;
    
    import java.util.UUID;
    
    import com.fasterxml.uuid.Generators;
    
    /**
     * Java UUID timestamp Example Program
     *
     */
    public class UUIDTimestampExample {
    
    	public static void main(String[] args) {
    		// Generate time-based uuid
    		UUID uuid = Generators.timeBasedGenerator().generate();
    		System.out.println("UUID : " + uuid);
    		System.out.println("UUID Version : " + uuid.version());
    		System.out.println("UUID Timestamp : " + uuid.timestamp());
    
    	}
    
    }

    Output of the above program is:

    上面程序的输出是:

    UUID : 61614667-d279-11e7-a5ac-f941ac8dfc39
    UUID Version : 1
    UUID Timestamp : 137309732424730215

    使用构造函数创建UUID (Create UUID Using Constructor)

    Let’s have a look at the below example program to create UUID using it’s constructor.

    让我们看一下下面的示例程序,使用它的构造函数创建UUID。

    package com.journaldev.examples;
    
    import java.util.UUID;
    
    /**
     * Java UUID Using Constructor Example Program
     *
     */
    public class UUIDUsingConstructor {
    
    	public static void main(String[] args) {
    		long msb = System.currentTimeMillis();
    		long lsb = System.currentTimeMillis();
    		//initialize uuid
    		UUID uuid = new UUID(msb, lsb);
    		System.out.println("UUID : "+uuid);
    	}
    
    }

    比较两个UUID (Compare Two UUIDs)

    Java UUID class provides two methods to compare UUIDs.

    Java UUID类提供了两种比较UUID的方法。

    1. compareTo(UUID val): UUID class implements Comparable interface. This method compare UUID with specified value of UUID and returns integer value which can be -1, 0 or 1.

      compareTo(UUID val) :UUID类实现Comparable 接口 。 此方法将UUID与UUID的指定值进行比较,并返回可以为-1、0或1的整数值。
    • -1: This UUID is less than specified value of UUID

      -1:此UUID小于UUID的指定值
    • 0: This UUID is equal to specified value of UUID

      0:此UUID等于UUID的指定值
    • 1: This UUID is greater than specified value of UUID

      1:该UUID大于UUID的指定值

    Let’s have a look at the below example program.

    让我们看一下下面的示例程序。

    package com.journaldev.examples;
    
    import java.util.UUID;
    
    /**
     * Java UUID compareTo Example Program
     *
     */
    public class UUIDCompareToExample {
    
    	public static void main(String[] args) {
    		//initialize uuids
    		UUID uuid1 = UUID.randomUUID();
    		UUID uuid2 = UUID.randomUUID();
    		
    		int result = uuid1.compareTo(uuid2);
    		if (result == -1) {
    			System.out.println("UUID1 is less than UUID2");
    		}else if (result == 0) {
    			System.out.println("Both are Equal UUID");
    		}else if (result == 1) {
    			System.out.println("UUID1 is greater than UUID2");
    		}
    
    	}
    
    }

    Output will depend on the randomly generated UUID values, we can’t predict it.

    输出将取决于随机生成的UUID值,我们无法预测。

    • equals(Object obj): This method compares UUID with specified object and returns true if the specified object is not null and is of type UUID and is of same variant and contains the same value.

      equals(Object obj) :此方法将UUID与指定的对象进行比较,如果指定的对象不为null且类型为UUID且具有相同的变体且包含相同的值,则返回true。
    • package com.journaldev.examples;
      
      import java.util.UUID;
      
      /**
       * Java UUID equals Example Program
       *
       */
      public class UUIDEqualsExample {
      
      	public static void main(String[] args) {
      
      		// initialize uuids
      		UUID uuid1 = UUID.randomUUID();
      		UUID uuid2 = UUID.randomUUID();
      		
      		System.out.println(uuid1.equals(uuid2));
      
      	}
      
      }

      That’s all for Java UUID class. It’s a great utility class and you can use it to create unique identifiers.

      Java UUID类就这些了。 这是一个很棒的实用程序类,您可以使用它来创建唯一的标识符。

      Reference: API Doc, RFC 4122

      参考: API文档RFC 4122

      翻译自: https://www.journaldev.com/17182/java-uuid-generator-java-guid

      java uuid生成器

    展开全文
  • 这是一个用于在 MATLAB 程序中生成通用唯一标识符 (UUID) 的简单工具。 许多应用程序需要 UUID 来唯一标识事物。 但是,MATLAB 并没有提供这样的功能。 我在开发基于 matlab 的系统时就意识到了这种需求,因此开发...
  • UUID生成方法

    2019-03-05 01:15:37
    第三方开源类库 博文链接:https://qqwyy.iteye.com/blog/150533
  • UUID生成工具,只能输入32个数字。能生成TXT文档。
  • GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复
  • 参考项目https://github.com/uuidjs/uuid https://github.com/google/uuid 使用模块精易模块 附件下载
  • UUID.js, 用于JavaScript的符合RFC的UUID生成器 电子邮件名称UUID.js - 适用于JavaScript的兼容UUID生成器概要<!-- HTML5 -->[removed][removed]&
  • uuid生成16位的,唯一码

    热门讨论 2012-12-04 17:33:20
    uuid生成,可生成16个字符的唯一码。使用方法,见main函数
  • UUID生成器和实用程序。 参见 。 注意:从重命名为作为解决程序包名称冲突的方法。 继续使用 。 安装 最新版本是1.2.0 ,需要Elixir〜 ~> 1.0 。 新版本可能会更改语言的最低兼容版本,以更改此最低兼容版本。 列...
  • 当您包含crypto库时,Angular.js 中最安全的 uuid 生成器 angular . module ( 'yourApp' , [ 'ngUUID' ] ) . run ( function ( $uuid , $log ) { var id = $uuid ( ) ; $log . info ( 'Generated uuid: ' + id ) ...
  • UUID生成随机数和时间戳

    千次阅读 2019-11-21 22:52:07
    UUID生成随机数和时间戳 对UUID产生的随机数进行处理 对UUID生成的时间戳进行不同的输出 代码 public class DateTime { public static void main(String[] args) { String uuid1 = UUID.randomUUID().toString();/...

    UUID生成随机数和时间戳

    对UUID产生的随机数进行处理
    对UUID生成的时间戳进行不同的输出
    代码

    public class DateTime {
        public static void main(String[] args) {
            String uuid1 = UUID.randomUUID().toString();//生成UUID
            System.out.println("uuid1 默认的uuid: " + uuid1);
            String uuid2 = UUID.randomUUID().toString().replace("-", "");//格式化UUID将“-”去掉
            System.out.println("uuid2 将“-”去掉:" + uuid2);
            String uuid3 = UUID.randomUUID().toString().replace("-", ".");//格式UUID将“-”格式成“.”
            System.out.println("uuid3 将“-”格式成“.”: " + uuid3);
            String uuid4 = UUID.randomUUID().toString().concat(".apk");//格式UUID,在UUID的结尾添加.apk
            System.out.println("uuid4 结尾添加.apk: " + uuid4);
            String uuid5 = UUID.randomUUID().toString().replaceAll("\\d", "");//替换所有,参数1为要替换的字符正则表达式,参数2为替换字符;
            System.out.println("uuid5 去掉所有数字: " + uuid5);
            UUID newuuid = UUID.fromString(uuid1);//将String类型 转成 UUID
            UUID u1 = UUID.randomUUID();
            UUID u2 = UUID.randomUUID();
            int values = u1.compareTo(u2);  // -1=小于  0=等于  1=大于
            System.out.println("u1 对比 u2: " + values);
    
    
            System.out.println("IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII");
            Date date = new Date();
            System.out.println("当前时间=" + date);
    
            long date2 = System.currentTimeMillis();
            System.out.println("毫秒级time值=" + date2);
    
            Calendar instance = Calendar.getInstance();
            long time3 = instance.getTimeInMillis();
            System.out.println("第三种获取时间的方式" + time3);
    
            long datetime = System.currentTimeMillis();
            SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
            String format = formatter.format(datetime);
            System.out.println("格式化后的时间" + format);
    
        }
    }
    

    运行结果

    uuid1 默认的uuid: 9b1de6c9-bccf-43f1-9060-9c2da1b910cc
    uuid2 将“-”去掉:1bdb28c966c644de97fb509bd044eb57
    uuid3 将“-”格式成“.: cc02df9c.41df.45fe.9477.e86c0c9fc948
    uuid4 结尾添加.apk: bef69749-2ed1-4505-93a7-ea14321ecb3b.apk
    uuid5 去掉所有数字: daf-a-c-b-aeee
    u1 对比 u2: 1
    IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
    当前时间=Thu Nov 21 22:49:33 CST 2019
    毫秒级time值=1574347773558
    第三种获取时间的方式1574347773560
    格式化后的时间21-十一月-2019
    
    展开全文
  • 在C#中很容易生成一组唯一码,最常用的是结构体GUID的NewGuid()实例。如果C#运行Guid.NewGuid();将会得到据说世界唯一的号码,形如:887687be-00cf-4dca-8fe4-7c4fc19b9ecc 。最近看了一下Python的相关模块,也发现...
  • 工具说明 ====================== 返回... 可选地,可以在 UUID 的每个组件之间使用分隔符生成字符串。 如果你想像使用这个工具一样使用这个工具: UUIDGenerator.getUUID(); 以上是我自己的代码,欢迎大家一起讨论~
  • 轻松生成UUID 生成随机UUID并单击复制它们! 新功能即将推出! 支持语言:English
  • java代码生成UUID以及在线UUID生成

    千次阅读 2019-03-25 20:06:10
    1.UUID 简介 UUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing ...

    1.UUID 简介

         UUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 
    的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部分。

         UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。
    在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Microsoft's Globally Unique Identifiers (GUIDs),而其他重要的应用,

    则有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等


    2.UUID 组成

        UUID保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字
    UUID由以下几部分的组合:
    (1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
    (2)时钟序列。
    (3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。
    UUID的唯一缺陷在于生成的结果串会比较长。关于UUID这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers)。在ColdFusion中可以用CreateUUID()函数很简单地生成UUID,
    其格式为:xxxxxxxx-xxxx- xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。而标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12);


    3.项目实战

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

    a.生成 UUID
    需要用到java 自带 JDk;

    import java.util.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("-", "");
    }

     

    在线UUID生成器:http://www.uuid.online/


    --------------------- 
    原文:https://blog.csdn.net/qq_35500433/article/details/78656223 

    展开全文
  • UUID v4 生成器和验证器(符合 RFC4122) 名称 用户名 版本 0.1.1 尺寸 1 KB / > 1 KB (gzipped) 环境 浏览器,Node.js 安装 通过 npm install lil-uuid 通过 bower install lil-uuid 通过 component install...
  • mica 由于参考(copy) java9 的 uuid 生成方式性能强劲,是 jdk8 ThreadLocalRandom 和 hutool FastSimpleUUID 的3到4倍的。 由于 uuid 的使用场景一般都需要高性能高并发,大家在使用的时候可以尝试使用 java9+...

    简介

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

    uuid 常用场景

    1. IOT 设备,设备号;
    2. 网站 sessionid,cookie 用户id;
    3. 数据库主键id;

    uuid 生成工具

    1. hutool Java工具包集
    2. mica 基于 Spring、 java8 微服务工具集

    压测代码

    测试基于 JMH,是专门用于代码微基准测试的工具套件,基于方法层面的基准测试,精度可以达到微秒级。

    压测代码源码存放于 github,感兴趣的朋友可以:https://github.com/lets-mica/mica-jmh

    jdk8UUId

    @Benchmark
    public String jdk8UUId() {
    	return UUID.randomUUID().toString();
    }
    

    jdk8ThreadLocalRandomUUId

    @Benchmark
    public String jdk8ThreadLocalRandomUUId() {
    	ThreadLocalRandom random = ThreadLocalRandom.current();
    	UUID uuid = new UUID(random.nextInt(), random.nextInt());
    	return uuid.toString();
    }
    

    hutoolFastSimpleUUID

    @Benchmark
    public String hutoolFastSimpleUUID() {
    	return IdUtil.fastSimpleUUID();
    }
    

    micaUUId

    @Benchmark
    public String micaUUId() {
    	return StringUtil.getUUID();
    }
    

    压测环境

    • OS: macOS Mojave
    • CPU: 2.8 GHz Intel Core i5
    • RAM: 8 GB 1600 MHz DDR3
    • JVM: Oracle 1.8.0_201 64 bits

    压测结果

    BenchmarkScoreErrorUnits
    jdk8UUId734.59517.220ops/ms
    jdk8ThreadLocalRandomUUId3224.75932.107ops/ms
    hutoolFastSimpleUUID3619.74867.195ops/ms
    micaUUId(java9 方式)12375.405241.879ops/ms

    说明:每毫秒生成的 uuid 数,得分越高越好。

    总结

    mica 由于参考(copy) java9 的 uuid 生成方式性能强劲,是 jdk8 ThreadLocalRandom 和 hutool FastSimpleUUID 的3到4倍的。

    由于 uuid 的使用场景一般都需要高性能高并发,大家在使用的时候可以尝试使用 java9+ 或者参考他的算法去实现。

    开源推荐

    关注我们

    如梦技术-公众号.jpg

    扫描上面二维码,更多精彩内容每天推荐!

    转载于:https://my.oschina.net/qq596392912/blog/3030090

    展开全文
  • uuid生成方式介绍

    2020-06-22 09:13:47
    UUID是国际标准化组织(ISO)提出的一个概念。UUID是一个128比特的数值,这...UUID生成的常见方式有五种。推荐一个uuid在线生成工具https://www.idcd.com/tool/uuid/create UUID Version 1:基于时间的UUID 目录 U.
  • 使用Rust构建的Python快速UUID生成器。 它是Rust的板条箱的简单包装。 如何使用? 安装: pip3 install ruuid==0.3.0 --force --no-cache 用法: import ruuid ruuid.uuid4 () ' 7a1ef475-904c-4d53-8985-528d09d...
  • 根据UUID生成器。 这个库只是用不同的API重新实现Xy和Xyz。 如果您已经在使用elixir_uuid或uuid_utils则没有理由进行更改。 用法 UUID版本1 iex > ExUUID . new ( :v1 ) " edfb6844-8fab-11eb-b56d-5c3258947fdb ...
  • import java.util.UUID;... * @Description: 生成16位唯一id */ public class UUID16 { public static void main(String[] args) { System.out.println(getUUID16()); } public static St.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 120,306
精华内容 48,122
关键字:

uuid生成