精华内容
下载资源
问答
  • java uuid_Java UUID

    2020-07-06 22:25:52
    UUID的标准表示形式由十六进制数字组成: 533a4559-e55c-18b3-8456-555563322002 并具有36个字符 ,其中包括四个连字符'-' 。 Java 中的java.util.UUID类表示一个不变的UUID。 我们可以使用U...

    java uuid

    介绍:

    UUID(通用唯一标识符)表示一个128位长的唯一值 。 它也被普遍称为GUID(全球唯一标识符)。

    UUID的标准表示形式由十六进制数字组成:

    533a4559-e55c-18b3-8456-555563322002

    并具有36个字符 ,其中包括四个连字符'-'

    Java 中的java.util.UUID类表示一个不变的UUID。

    我们可以使用UUID类来生成随机文件名,会话或事务ID。 UUID的另一种流行用法是在数据库中生成主键值。

    Java UUID类具有用于处理Leach-Salz变体(变体2)的方法 。 但是,其构造函数允许生成任何类型的UUID

    new UUID(long mostSigBits, long leastSigBits)

    变体确定UUID的布局。 让我们来一个样本UUID

    533a4559-e55c-18b3-8456-555563322002
    xxxxxxxx-xxxx-Bxxx-Axxx-xxxxxxxxxxxx

    此处, A的值表示变量,并由其前三个MSB(最高有效位)确定:

    MSB1 MSB2 MSB3 变体 变体说明
    0 X X 0 保留用于NCS向后兼容
    1个 0 X 2 里奇-萨尔茨
    1个 1个 0 6 保留,Microsoft Corporation向后兼容
    1个 1个 7 保留以供将来定义

    对于我们而言, A = 8(1000) ,因此前三个MSB100 。 这意味着我们的UUID具有2的变体。

    对于版本2 UUID ,有五个不同的版本:

    描述
    v1 基于时间的
    v2 DCE-安全
    v3和v5 基于名称
    v4 随机生成的UUID

    生成

    让我们介绍一下Java UUID类中的方法,我们可以使用它们来生成UUID

    1.

    使用加密强度高的伪随机数生成器生成v4伪随机UUID

    UUID uuid = UUID.randomUUID();

    2.

    我们可以使用nameUUIDFromBytes()从字节数组生成UUID

    byte[] byteArr = {11, 23, 33}; 
    UUID uuid = UUID.nameUUIDFromBytes(byteArr);

    此方法生成v3 UUID (基于名称)。

    3.

    使用fromString() ,我们可以从标准字符串表示形式创建UUID

    UUID uuid = UUID.fromString("533a4559-e55c-18b3-2456-555563322002");

    对于作为参数传入的任何无效字符串,它将抛出IllegalArgumentException

    比较两个

    Java UUID类实现Comparable接口。 因此,我们可以使用compareTo()方法进行比较:

    UUID uuid1 = UUID.randomUUID();
    UUID uuid2 = UUID.randomUUID();
     
    int result = uuid1.compareTo(uuid2);

    我们知道, compareTo()方法返回:

    • 1:如果uuid1大于uuid2
    • 0:如果uuid1 = uuid2
    • -1:如果uuid1小于uuid2

    我们也可以选择使用equals()方法进行比较。

    其他方法:

    让我们介绍一下Java UUID类的其他一些方法:

    1.

    顾名思义, getLeastSignificantBits()getMostSignificantBits()分别返回64个最低有效位和64个最高有效位

    UUID uuid = UUID.randomUUID();
     
    long leastSignificantBits = uuid.getLeastSignificantBits();
    long mostSignificantBits = uuid.getMostSignificantBits();

    这两种方法均返回一个long值。

    2.

    我们还可以查询UUID的变体和版本

    UUID uuid = UUID.randomUUID();
     
    int variant = uuid.variant();
    int version = uuid.version();

    使用基于时间的

    首先,在我们的POM中java- uuid -generator添加一个依赖项:

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

    请注意,该库提供了各种类型的UUID生成器。

    要创建基于时间的UUID ,我们将具有:

    UUID uuid = Generators.timeBasedGenerator().generate();

    处理v1 UUID时,方便使用的java.util包中的其他方法包括:

    1. timestamp(): 返回与给定的v1 UUID关联的时间戳值 。 与任何其他类型的UUID一起使用时,此方法将引发UnsupportedOperationException

    2. clockSequence(): 它返回一个14位值,该值由给定UUID的时钟序列字段构成 。 它还会为v1类型以外的UUID抛出UnsupportedOperationException

    结论:

    在本教程中,我们了解了什么是UUID及其变体。 我们讨论了变量类型2的不同可用版本。 我们还介绍了Java UUID类公开的许多方法。

    翻译自: https://www.javacodegeeks.com/2019/03/java-uuid.html

    java uuid

    展开全文
  • java uuid

    2017-02-10 11:49:51
    java uuid

    第一次想到要把平常学到的东西做个笔记,方便以后忘了查询

    UUID

    UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。按照 开放软件基金会 (OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字

    UUID由以下几部分的组合:
    (1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
    (2)时钟序列。
    (3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。

    java uuid

    UUID在 java.util下
        
                    String uuid= UUID.randomUUID().toString();
    System.out.println(uuid);
    System.out.println(uuid.length());
    System.out.println(uuid.replaceAll("-", ""));

    输出类容:
    d6b16a45-9208-4030-9cd2-96e1f91da95b
    36
    d6b16a45920840309cd296e1f91da95b





    展开全文
  • Java UUID

    2018-07-23 17:59:21
    Java UUID 目录 简介 作用 组成 Java UUID 生成     简介: UUID含义是通用唯一识别码 (Universally Unique Identifier),是一个软件建构的标准,也被开源软件基金会 (Open Software Foundation, OSF) 的...

    Java UUID

    目录

     

     

    简介:


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

    UUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成UUID。从理论上讲,如果一台机器每秒产生10000000个UUID,则可以保证(概率意义上)3240年不重复。

     

    作用:


    UUID 的目的,是让分布式系统中的所有元素,都能有唯一的标识,而不需要透过中央控制端来做标识。如此一来,每个人都可以建立不与其它人冲突的UUID。在这样的情况下,就不需考虑数据标识建立时的名称重复问题。

     

    组成:


    UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字 

    UUID通常由以下几部分的组合:

    • 当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
    • 时钟序列。
    • 全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。

     

    UUID的唯一缺陷在于生成的结果串会比较长。

     

    Java UUID 生成:


    UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID

    1 import java.util.UUID;
    2 ……
    3 
    4 UUID uuid = UUID.randomUUID();
    5 System.out.println(uuid);

    UUID是由一个十六位的数字组成,表现出来的形式例如
    550E8400-E29B-11D4-A716-446655440000  

    下面创建一个类用于产生一批UUID标识。

     

     1 public class UUIDGenerator { 
     2     public UUIDGenerator() {
     3        
     4     }
     5         
     6     /** 
     7      * 获得一个UUID 
     8      * @return String UUID 
     9      */ 
    10     public static String getUUID(){ 
    11         String s = UUID.randomUUID().toString(); 
    12         //去掉“-”符号 
    13      //return s.substring(0,8)+s.substring(9,13)+s.substring(14,18)+s.substring(19,23)+s.substring(24);
    14         return s;
    15      } 
    16         
    17     /** 
    18      * 获得指定数目的UUID 
    19      * @param number int 需要获得的UUID数量 
    20     * @return String[] UUID数组 
    21     */ 
    22     public static String[] getUUID(int number){ 
    23         if(number < 1){ 
    24             return null; 
    25         } 
    26         String[] ss = new String[number]; 
    27         for(int i = 0; i < number; i++){ 
    28             ss[i] = getUUID(); 
    29         } 
    30         return ss; 
    31     }
    32 }

     

    利用上面的代码可以产生如下的一组数据,注意每次运行都不会产生相同的标识。

    • 690044a7-1400-4f2e-8003-4df850f21ac2
    • 0eea4f29-6e80-4d8e-a7ce-5d4ea5f0e882
    • 869d23f8-fe44-4d71-9c5b-3d94b1892f48
    • 2b308c4e-a3e2-45a9-b7d3-6e0ce59dffef
    • 27a245fd-0e4a-4f1c-b06a-264637bf9d31
    • 3364e93d-5c73-4208-a0b1-a406d8fb72e6
    • 5625951d-739d-47be-b8d2-035b0adf4344
    • d0043967-f6b2-4eb2-8854-c3804118f3cd
    • ef72ede1-5f4f-4f79-a610-642ee8e93189
    • e84c65a8-6663-4a6c-8701-7f44ec9f7fe8

     


     

    展开全文
  • java生成uuid_Java UUID

    千次阅读 2021-01-05 16:06:46
    UUID的标准表示形式由十六进制数字组成: 533a4559-e55c-18b3-8456-555563322002并具有36个字符,其中包括四个连字符'-' 。 Java中的java.util.UUID类表示一个不变的UUID。 我们可以使用UUID类来生成...
    java生成uuid

    java生成uuid

    介绍:

    UUID(通用唯一标识符)表示一个128位长的唯一值。 它也被普遍称为GUID(全球唯一标识符)。

    UUID的标准表示形式由十六进制数字组成:

    533a4559-e55c-18b3-8456-555563322002

    并具有36个字符,其中包括四个连字符'-'

    Java中的java.util.UUID类表示一个不变的UUID。

    我们可以使用UUID类来生成随机文件名,会话或事务ID。 UUID的另一种流行用法是在数据库中生成主键值。

    Java UUID类具有一种用于处理Leach-Salz变体(变体2)的方法。 但是,其构造函数允许生成任何类型的UUID

    new UUID(long mostSigBits, long leastSigBits)

    一个变体确定UUID的布局。 让我们来一个样本UUID

    533a4559-e55c-18b3-8456-555563322002
    xxxxxxxx-xxxx-Bxxx-Axxx-xxxxxxxxxxxx

    此处, A的值表示变量,并由其前三个MSB(最高有效位)确定:

    MSB1 MSB2 MSB3 变体 变体说明
    0 X X 0 保留用于NCS向后兼容
    1个0 X 2 里奇-萨尔茨
    1个1个0 6 保留,Microsoft Corporation向后兼容
    1个1个7 保留以供将来定义

    对于我们来说, A = 8(1000) ,因此前三个MSB100 。 这意味着我们的UUID具有2的变体。

    对于版本2 UUID ,有五个不同的版本:

    描述
    v1 基于时间的
    v2 DCE-安全
    v3和v5 基于名称
    v4 随机生成的UUID

    生成

    让我们介绍一下Java UUID类中的方法,这些方法可用于生成UUID

    1.

    使用加密强度高的伪随机数生成器生成v4伪随机UUID

    UUID uuid = UUID.randomUUID();

    2.

    我们可以使用nameUUIDFromBytes()从字节数组生成UUID

    byte[] byteArr = {11, 23, 33}; 
    UUID uuid = UUID.nameUUIDFromBytes(byteArr);

    此方法生成v3 UUID (基于名称)。

    3.

    使用fromString() ,我们可以从标准字符串表示形式创建UUID

    UUID uuid = UUID.fromString("533a4559-e55c-18b3-2456-555563322002");

    对于作为参数传入的任何无效字符串,它将引发IllegalArgumentException

    比较两个

    Java UUID类实现Comparable接口。 因此,我们可以使用compareTo()方法进行比较:

    UUID uuid1 = UUID.randomUUID();
    UUID uuid2 = UUID.randomUUID();
     
    int result = uuid1.compareTo(uuid2);

    众所周知, compareTo()方法返回:

    • 1:如果uuid1大于uuid2
    • 0:如果uuid1 = uuid2
    • -1:如果uuid1小于uuid2

    我们也可以选择使用equals()方法进行比较。

    其他方法:

    让我们介绍一下Java UUID类的其他一些方法:

    1.

    顾名思义, getLeastSignificantBits()getMostSignificantBits()分别返回64个最低有效位和64个最高有效位

    UUID uuid = UUID.randomUUID();
     
    long leastSignificantBits = uuid.getLeastSignificantBits();
    long mostSignificantBits = uuid.getMostSignificantBits();

    这两种方法都返回一个long值。

    2.

    我们还可以查询UUID的变体和版本

    UUID uuid = UUID.randomUUID();
     
    int variant = uuid.variant();
    int version = uuid.version();

    使用基于时间的

    让我们从在POM中java- uuid -generator添加一个依赖关系开始:

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

    请注意,该库提供了各种类型的UUID生成器。

    要创建基于时间的UUID ,我们将具有:

    UUID uuid = Generators.timeBasedGenerator().generate();

    处理v1 UUID时,方便使用的java.util包中的其他方法包括:

    1. timestamp():返回与给定的v1 UUID关联的时间戳值。 与任何其他类型的UUID一起使用时,此方法将引发UnsupportedOperationException

    2. clockSequence():它返回一个14位值,该值由给定UUID的时钟序列字段构成。 它还会为v1类型以外的UUID抛出UnsupportedOperationException

    结论:

    在本教程中,我们了解了什么是UUID及其变体。 我们讨论了变量类型2的不同可用版本。 我们还介绍了Java UUID类公开的许多方法。

    翻译自: https://www.javacodegeeks.com/2019/03/java-uuid.html

    java生成uuid

    展开全文
  • UUID转换成数字

    千次阅读 2020-07-27 11:28:47
    调用对方接口保存数据的时候发现对方的Id为UUID,我方Id为Long,所以就把UUID转换成了数字 public Long getId(String UUID){ Integer userId=uuid.toString().hashCode(); userId= userId< 0 ? -userId: ...
  • JAVA UUID 工具类

    千次阅读 2018-11-05 07:48:19
    JAVA UUID 工具类JAVA UUID 工具类UUID简介UUID方法类实现 JAVA UUID 工具类 UUID简介 通用唯一识别码(英语:Universally Unique ...UUID是由一组32位数的16进制数字所构成,是故UUID理论上的总数为1632=2128,约...
  • java UUID

    千次阅读 2015-05-21 20:50:25
    UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码...
  • JAVA UUID

    2016-06-11 21:48:07
    JAVA UUID 生成 GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间...UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID package com.mytest
  • JAVA UUID []

    2010-05-07 16:51:40
    UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码...
  • java UUid

    2013-03-14 20:59:23
    UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码...
  • JAVA UUID 生成

    2016-09-14 10:31:32
    JAVA UUID 生成 GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上...
  • JAVA UUID简介

    2014-08-21 10:28:19
    JAVA UUID 生成 GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间...UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID package com.mytest
  • java uuid生成

    2015-10-29 11:17:49
    JAVA UUID 生成 GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,253
精华内容 7,701
关键字:

javauuid转数字

java 订阅