精华内容
下载资源
问答
  • GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复
  • NULL 博文链接:https://jarorwar.iteye.com/blog/553875
  • java中用UUID生成唯一标识ID

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

    UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得)

    如果使用的JDK1.5的话,那么生成UUID变成了一件简单的事,以为JDK实现了UUID:
    java.util.UUID,直接调用即可.
    UUID uuid = UUID.randomUUID();
    String s = UUID.randomUUID().toString();

    UUID的唯一缺陷在于生成的结果串会比较长。其格式为:xxxxxxxx-xxxx- xxxx- xxxx-xxxxxxxxxxxxxxxx(8-4-4-4-16)
    (Example: C2FEEEAC-CFCD-11D1-8B05-00600806D9B6

    由于需求我们也许要用到没有“-”的UUID

        /** 
         * 获得一个去掉“-”符号的UUID 
         * @return String UUID 
         */ 
        public static String getUUID(){ 
            String s = UUID.randomUUID().toString(); 
            //去掉“-”符号 
            return s.substring(0,8)+s.substring(9,13)+s.substring(14,18)+s.substring(19,23)+s.substring(24); 
        } 

    有时我们对UUID的长度有要求

    //获得指定数量的UUID  
    public static String[] getUUID(int number) {  
        if (number < 1) {  
            return null;  
        }  
        String[] ss = new String[number];  
        for (int i = 0; i < number; i++) {  
            ss[i] = getUUID();  
        }  
        return ss;  
    }
    

    也可用

    String.subSequence(int beginlndex ,int endlndex)

    需要注意的是:
    如果 beginIndex 或 endIndex 为负,如果 endIndex 大于 length() 或 beginIndex 大于 startIndex ,会抛异常 IndexOutOfBoundsException

    展开全文
  • 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生成器

    展开全文
  • 前言 我们开发的时候,数据库表总会有一个主键,以前我们可能会使用自增的数字作为主键。...于是jdk1.5出了UUID这个类来生成唯一的字符串标识。 什么是UUID? UUID含义是通用唯一识别码 (Universally Un...

    前言

            我们开发的时候,数据库表总会有一个主键,以前我们可能会使用自增的数字作为主键。这样做确实查询的时候比较快,

    但是在做系统集成或者数据迁移的的时候就麻烦了。这是id就有可能重复了。那么有什么比较好的方法解决这一问题呢?

    于是jdk1.5出了UUID这个类来生成唯一的字符串标识。

    什么是UUID?

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

        UUID 的目的是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。
    如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。
    目前最广泛应用的 UUID,即是微软的 Microsoft's Globally Unique Identifiers (GUIDs),而其他重要的应用,
    则有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等。
    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),可以从cflib 下载CreateGUID() UDF进行转换。
    UUID的应用?
    使用UUID的好处在分布式的软件系统中(比如:DCE/RPC, COM+,CORBA)就能体现出来,
    它能保证每个节点所生成的标识都不会重复,并且随着WEB服务等整合技术的发展,UUID的优势将更加明显。根据使用的特定机制,UUID不仅需要保证是彼此不相同的,或者最少也是
    与公元3400年之前其他任何生成的通用唯一标识符有非常大的区别。UUID最少在3000+年内不会重复。
    这也是通用唯一标识符的一种类型,可用来指向组建对象模块对象和其他的软件组件。第一个通用唯一标
    识符是在网络计算机系统(NCS)中创建,并且随后成为开放软件基金会(OSF)的分布式计算环境(DCE)的组件。

    *****怎么生成UUID*****
    public static String getUUID32(){
        String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase();
        return uuid;
    //  return UUID.randomUUID().toString().replace("-", "").toLowerCase();
    }

    注:因为一般数据库主键为String类型,所以接收类型为String,生成的uuid数据包含-,所以要去掉-,故UUID.randomUUID().toString().replace("-", "").toLowerCase()
     

    展开全文
  • java生成唯一索引,Long型,区别uuid
  • Java中的UUID类(生成唯一ID)

    万次阅读 2018-03-27 21:52:50
    UUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF)&nbsp;的组织应用在分布式计算环境 (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;

    /** 
    * 获得指定数目的UUID 
    * @param number int 需要获得的UUID数量 
    * @return String[] 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("-", "");
        }
    
    展开全文
  • JAVA UUID 生成唯一标识

    千次阅读 2015-03-08 22:13:23
    Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket豆瓣:BYSocket Reprint it anywhere u want ... 项目在设计表的时候,要处理...后来觉得是错了,测试环境下很多一样的ID,不能达到唯一标识。 UUID  J
  • /** * 获得指定数目的UUID * @param number int 需要获得的UUID数量 * @return String[] UUID数组 */ public static String[] getUUID(int number){ if(number < 1){ return null;...
  • UUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) ...
  • 生成订单编号的功能。 网友指点了一下可以简单的使用 uuid 来做,但是 uuid 产生的是一个不重复的字符串。用来当做订单编号,显然不太合适。但是我们可以换个底版,来让它变成一组数字。 原理其实很简单,就是...
  • 唯一uuidid生成

    2018-11-02 12:40:01
    id生成器,全局唯一id,更具ip加地址时间戳等生成唯一id
  • UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码...
  • java生成16位long类型id

    2020-09-04 17:08:11
    1.获取系统时间 + 随机数,但是由于系统时间前几位是相同的,所以截取几位数字; 2.获取随机数,math的方法,截取几位数字; 3.判重校验
  • 在平时开发时,如果没有定义数据库自动生成ID的机制,可以使用java自带的uuid生成随机唯一主键,在插入数据库时,可以直接给ID主键赋值;这个uuid方法,在java自带的utils包里,就可以直接调用:示例:public static...
  • java 生成32位UUID

    2019-03-19 01:53:33
    NULL 博文链接:https://dh189.iteye.com/blog/722580
  • java生成uuid_Java UUID

    千次阅读 2021-01-05 16:06:46
    java生成uuid介绍: UUID(通用唯一标识符)表示一个128位长的唯一值。 它也被普遍称为GUID(全球唯一标识符)。 UUID的标准表示形式由十六进制数字组成: 533a4559-e55c-18b3-8456-555563322002并具有36个字符,其中...
  • JAVA生成UUID并作为数据库表的ID

    千次阅读 2019-06-30 00:13:38
    在接触UUID之前,我建表用的ID一直是用的int型,然后自动增长,这样很方便。 但是这样做却有一些问题,因为数据量大的话,不可能只用一张表,而是几张表,这样会出现id重复,于是有了UUIDUUID 是 通用唯一识别...
  • 数据库方式比较简单,比如oracle可以用序列生成id,Mysql中的AUTO_INCREMENT等,这样可以生成唯一的ID,性能和稳定性依赖于数据库!如mysql主键递增: 2.系统时间戳 这种方式每秒最多一千个,如果是单体web系统集群...
  • Java生成唯一ID的方法

    千次阅读 2021-01-19 16:49:18
    Java 5开始, UUID 类提供了一种生成唯一ID的简单方法。UUID是通用唯一识别码 (Universally Unique Identifier)的缩写,UUID来源于OSF(Open Software Foundation,开源软件基金会)的DCE(Distributed Computing ...
  • java代码生成UUID以及在线UUID生成

    万次阅读 2017-11-28 16:11:05
     UUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF)  的组织应用在分布式计算环境 (Distributed Computing ...
  • Java通过UUID生成16位唯一订单号

    千次阅读 2019-10-24 10:01:37
    生成uuid的hashCode值 int hashCodeV = UUID.randomUUID().toString().hashCode(); // 3.有可能是负数 if(hashCodeV ) { hashCodeV = - hashCodeV; } // 4.结果 String value = machineId + String.format("%015d", ...
  • LongId-智能简单的Java UUID生成器 替换为自动递增的ID,尤其是在多服务器多数据中心环境中。 为响应Snowflake和Snowizard的复杂性而创建,它只是一个类。 好处: 当用作主键时,SQL插入将始终在表的底部 ID始终...
  • java通过UUID生成16位唯一订单号

    万次阅读 2017-08-11 09:57:04
    import java.util.UUID; public class T { public static String getOrderIdByUUId() { int machineId = 1;//最大支持1-9个集群机器部署 int hashCodeV = UUID.randomUUID().toString().hashC
  • java 集群服务器生成唯一id 通过 UUID

    千次阅读 2018-12-03 19:46:25
    思路: 1.获取当前服务器唯一id 2.获取当前时间戳 3.获取当前uuid 目的: 可以避免多台同型号服务器跑大数据的时候... * 生成文件集群服务器唯一id * * @author yushen * */ public class OnlyIdUtils { ...
  • Java 实例 - 生成UUID唯一ID

    千次阅读 2019-09-18 10:00:47
    Java实例大全 @Test public void test3(){ System.out.println(getUUID()); System.out.println(getUUID()); System.out.println(getUUID()); System.out.println(getUU...
  • uuid 生成不重复ID3万个 检测到重复就重试生成,把生成id好,写入txt文档中

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 46,030
精华内容 18,412
关键字:

javauuid生成唯一id

java 订阅