`
uujava0322
  • 浏览: 48236 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类

Java中UUID的实现

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

JDK1.5
如果使用的JDK1.5的话,那么生成UUID变成了一件简单的事,以为JDK实现了UUID:
java.util.UUID,直接调用即可.
UUID uuid  =  UUID.randomUUID(); 
String s = UUID.randomUUID().toString();//用来生成数据库的主键id非常不错 
 

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

//下面就是实现为数据库获取一个唯一的主键id的代码
public class UUIDGenerator { 
    public UUIDGenerator() { 
    } 
    /** 
     * 获得一个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 
     * @param number int 需要获得的UUID数量 
     * @return String[] 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; 
    } 
    public static void main(String[] args){ 
        String[] ss = getUUID(10); 
        for(int i=0;i<ss.length;i++){ 
            System.out.println(ss[i]); 
        } 
    }
} 


分享到:
评论

相关推荐

    浅谈java获取UUID与UUID的校验

    Java 获取 UUID 是一个非常常见的操作,UUID(Universally Unique Identifier,全球唯一标识符)是一种软件建筑中用于标识信息的标识符。UUID 的主要用途是为了在分布式系统中生成唯一的标识符,以便于标识一些信息...

    java UUID16的生成下载

    注意,由于UUID16实际上在Java中并没有特别的含义,这里的"UUID16"可能是指使用了特定方式生成的UUID,比如特定版本1的实现。在实际开发中,我们通常直接使用`UUID.randomUUID()`来生成版本4的UUID,因为它不需要...

    Java 中将 UUID 存储为 Base64 字符串

    本文将深入探讨如何在 Java 中实现这一过程,并讨论相关的实现细节和技术要点。 #### 二、Base64 编码与 UUID ##### 2.1 Base64 编码简介 Base64 编码是一种常用的二进制到文本的编码方式,它能将二进制数据转换为...

    java生成UUID通用唯一识别码 中文WORD版

    在Java中,UUID主要通过`java.util.UUID`类来实现。这个类提供了多种生成UUID的方法,包括最常用的`randomUUID()`方法,它基于当前时间戳和随机数生成一个UUID。UUID由128位的数字组成,通常用16进制表示,形式为8-4...

    返回Long型UUid

    在Java编程中,UUID(Universally Unique Identifier)是一种标准的128位的唯一标识符,通常用于生成不可预测的全局唯一ID。然而,标准的UUID由32个16进制数字组成,形式上类似于“123e4567-e89b-12d3-a456-...

    java生成唯一id(uuid)(不依赖jdk5,自己实现的)

    在Java中,我们可以通过以下步骤实现一个简单的UUID生成器: 1. **时间戳**:我们可以使用`System.currentTimeMillis()`获取当前时间(以毫秒为单位),然后将其转换为16进制字符串。由于128位UUID中时间戳部分占到...

    JAVA UUID 生成.txt

    通过以上介绍,我们可以看到 Java 中 UUID 的生成方式非常多样,既可以使用内置的 `java.util.UUID` 类,也可以通过自定义类实现更加灵活的 UUID 生成机制。对于特定的应用场景,例如需要基于 MAC 地址和时间戳生成 ...

    java 生成32位UUID

    总结来说,生成32位UUID在Java中可通过去除128位UUID的短横线实现,但需注意其可能不满足全局唯一性的需求。如果需要紧凑的唯一标识,应谨慎评估所选方案是否满足业务需求。在实际开发中,可以根据具体应用场景选择...

    Java 生成 UUID通用唯一标识符.docx

    在Java中,UUID由java.util包下的UUID类来实现,它是一个不可变的、不可序列化的类,并且实现了Comparable接口,方便进行比较。 UUID的结构是固定的,总共36个字符,由16进制的数字组成,并用四条短横线分隔成五个...

    java 提供通用唯一识别码(universally unique identifier)(UUID)实现

    java 提供通用唯一识别码(universally unique identifier)(UUID)实现 java 提供通用唯一识别码(universally unique identifier)(UUID)实现 java 提供通用唯一识别码(universally unique identifier)(UUID...

    java-uuid-generator:Java Uuid Generator(JUG)是一个用于在Java上生成所有(3)类型的UUID的库。 请参阅(http

    Java Uuid生成器(JUG) JUG是一组用于处理UUID的Java类:使用任何标准方法生成UUID,有效输出,排序等。 它根据生成UUID(有关更多说明,另请参见) JUG由Tatu Saloranta( )最初于2002年编写,并且经过多年的...

    java生成UUID通用唯一识别码.docx

    - **跨平台性**:UUID标准在多种操作系统和编程语言中得到支持,包括Windows、Linux、Mac OS X以及Java、C#等多种编程语言。 #### 三、UUID的类型 根据生成方法的不同,UUID可以分为以下几种类型: 1. **时间型UUID...

    java实现随机生成UUID

    本文将详细介绍如何在Java中实现随机生成UUID,并对相关方法进行解释。 UUID的全称是Universally Unique Identifier,也称为通用唯一识别码。它由32个数字和4个破折号组成,共36个字符,被广泛用于需要唯一标识的...

    唯一uuidid生成器

    在Java编程语言中,生成UUID非常简单,可以直接使用`java.util.UUID`类提供的静态方法。例如,`UUID.randomUUID()`会返回一个基于时间的UUID,这是最常用的类型。然而,如果要根据IP地址或其他自定义信息生成UUID,...

    PB生成UUID.zip

    而在Java中,可以使用`java.util.UUID`类的静态方法`randomUUID()`。 使用PB生成UUID的步骤大致如下: 1. 引入PB库:首先,需要在项目中引入相应的PB库,这可能通过添加依赖或import语句完成。 2. 定义数据结构:在...

    fast-uuid:一个Java库,可快速有效地解析和编写UUID

    在基准测试中,解析UUID的速度比编写JU实现快14倍,编写UUID的速度快6倍。 与Java 9和更高版本相比,它在解析UUID时快大约六倍,并且在编写UUID方面没有任何好处。 该库适用于使用大量UUID或以性能敏感代码使用...

    impala-uuid创建教程

    为了创建一个可以在Impala中使用的UDF,我们需要实现一个Java类,并将其打包成JAR文件。在这个例子中,我们的目标是创建一个名为`uuid2`的函数,该函数返回一个没有连字符的UUID。 ##### 实现UUID生成方法 首先,...

    通过NDK获得UUID

    3. **实现C/C++函数**:在生成的头文件或者单独的.C或.CPP文件中实现`getUUIDFromNDK`函数,使用Linux系统调用`sysfs`或`udev`来读取UUID。例如: ```c++ #include #include #include #include #include ...

    UUID使用总结

    例如,在Java中,可以使用`java.util.UUID`类来生成和操作UUID;在Python中,可以导入`uuid`模块来实现相同功能。在实际应用中,UUID常用于数据库主键、临时文件命名、分布式系统中的唯一标识等场景,避免了命名冲突...

    UuidGen:基于 JAVA 的 UUID 生成-开源

    通过这个开源项目,开发者不仅可以获取UUID,还可以了解如何在Java中实现这样的工具,甚至可以学习到关于命令行接口(CLI)和剪贴板操作的知识。同时,参与到开源社区中,可以提升自己的编程技能,也可以为社区做出...

Global site tag (gtag.js) - Google Analytics