UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。
1. JDK1.5
如果使用的JDK1.5的话,那么生成UUID变成了一件简单的事,以为JDK实现了UUID: java.util.UUID,直接调用即可.
Java代码
import java.util.UUID;
public class Test {
public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
System.out.println(uuid.toString());
}
}
2. 第三方开源类库(推荐使用):
最著名的是 JUG .特点上是: 纯Java实现,开源,LGPL协议。采用了Native的方式产生真正的Uuid.而且提供了不同平台的实现,包括:
Linux / x86
Windows (98, ME, NT, 2K, XP?) / x86
Solaris / Sparc
Mac OS X
FreeBSD / x86
Java代码
import org.doomdark.uuid.UUIDGenerator;
public class Test {
public static void main(String[] args) {
String primaryKey = UUIDGenerator.getInstance()
.generateRandomBasedUUID().toString();
primaryKey = primaryKey.replaceAll("-", "");
System.out.println(primaryKey);
}
}
分享到:
相关推荐
GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复
java 生成8位UUID,解决UUID2太长的问题,欢迎下载。后续代码,陆续放出
UUID生成工具类
uuid生成,可生成16个字符的唯一码。使用方法,见main函数
- **生成方法**: - **版本 1**: 基于时间戳和节点标识(MAC 地址)。 - **版本 4**: 基于随机数生成。 #### 二、Java 中 UUID 的生成 ##### JDK 1.5 版本 - **引入**: 自 Java 5 开始,Java 提供了 `java.util....
<groupId>com.fasterxml.uuid</groupId> <artifactId>java-uuid-generator <packaging>bundle <name>Java UUID Generator <version>3.1.5</version>
在实际项目中,开发者可能会选择这样的库来代替标准的Java UUID生成,以便更好地满足项目特定的需求,比如在分布式系统中保持全局唯一性,同时提高生成ID的速度。 在使用Vesta-ID-Generator之前,开发者需要了解其...
在Java中,UUID类提供了生成不同版本UUID的方法,包括版本1。 UUID版本1是基于时间的,它包含了时间戳、节点ID(通常为MAC地址)和一个随机或伪随机的数,以确保全局唯一性。具体生成过程如下: 1. **时间戳**:...
java生成唯一索引,Long型,区别uuid
在 Java 中,我们可以使用 UUID.randomUUID() 方法来生成一个随机的 UUID。同时,我们也可以使用 UUID.nameUUIDFromBytes() 方法来生成一个基于名称的 UUID。 关于 UUID 的校验,Java 提供了多种方法来实现。我们...
总结一下,UUID是Java中广泛使用的全局唯一标识符,JDK的`java.util.UUID`类提供了方便的生成方法。如果你在项目中使用了`javauuidgenerator`这个第三方库,它可能提供了不同于JDK的UUID生成策略,具体细节需要查看...
本篇我们将深入探讨如何在不依赖JDK 5的新特性(如`java.util.UUID`类)的情况下,自行实现一个UUID生成器。 首先,我们需要理解UUID的基本结构。一个UUID由五部分组成:时间戳、节点ID、序列号、变种和版本。...
java生成16位随机数
在Java编程中,UUID(Universally Unique Identifier)是一种用于生成全局唯一标识符的标准。...在实际开发中,可以根据具体应用场景选择适合的UUID生成策略,如使用128位UUID的简化形式或其他特定算法。
Java Uuid生成器(JUG) JUG是一组用于处理UUID的Java类:使用任何标准方法生成UUID,有效输出,排序等。 它根据生成UUID(有关更多说明,另请参见) JUG由Tatu Saloranta( )最初于2002年编写,并且经过多年的...
Java生成UUID使用的第三方包,生成UUID的第三方包,
除了上述标准的UUID生成方法之外,本文还将介绍另一种可能有用的方法——`getLongId()`。这个方法不直接生成UUID,而是利用当前的日期时间和一个递增计数器来生成一个长整型ID。生成的ID包含了年月日时分秒毫秒等...
有序UUID生成器 借鉴hibernate的UUID生成器 CustomVersionOneStrategy。
UUID生成器就是这样一个工具,能够自动生成这种具有唯一性的标识符。 标题中的"UUID生成器"是一个应用程序,它设计的目标是简洁易用,用户无需关心具体实现,只需解压缩后即可运行。由于已包含jre(Java Runtime ...
Java中的UUID(Universally Unique Identifier)是一种用于生成全局唯一标识符的标准,由开源软件基金会(OSF)在分布式计算环境中提出。UUID的主要目的是确保在分布式系统中的任何元素都有其独特的识别信息,无需...