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());
}
}
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);
}
}
分享到:
相关推荐
采用了4中方式实现唯一id生成。 其他语言可以改动。
在IT行业中,随机序列生成是一项基础且重要的任务,广泛应用于各种场景,如密码学、模拟仿真、数据分析以及软件测试等。"rs_随机序列生成_"这个主题,显然聚焦于探讨如何在Windows平台上创建这样的序列。下面我们将...
批量序列生成工具V 1.0 是一个基于C#编程语言开发的应用程序,主要用于生成大量序列号或唯一标识符,这对于软件开发商来说尤其有用,他们可能需要为每一款出售的产品分配一个独一无二的序列号。该工具由wgscd在2009...
标题 "m.rar_GM_M序列生成器_初始序列" 暗示了这是一个与数字序列生成相关的软件或程序,特别是GM(Generalized M)序列。GM序列是一种在通信、信号处理和加密等领域广泛应用的伪随机序列。这类序列具有良好的统计...
我是我自己写的一个工具类,打了包,里面含有源文件,可根据需要产生指定长度的大写或者小写或者大小写均有,或者纯数字,或者数字字符具有,以及产生唯一字符序列的串方法。
序列码通常是指一串由数字、字母或其他符号组成的唯一标识,用于识别特定的产品或服务。在Java中,我们可以使用`java.util.Random`类或`java.security.SecureRandom`类来生成随机数,结合字符集构建序列码。 1. **...
Oracle数据库在设计和管理大型数据系统时扮演着关键角色,其中序列(Sequence)是一种非常重要的对象,用于生成唯一的整数序列,通常用作表的主键。本篇将深入探讨Oracle数据库表序列ID自增生成器及其相关知识点。 ...
Oracle数据库中的序列(Sequence)是数据库开发者常用的工具,主要用于生成唯一的整数,这些整数通常作为主键或者唯一标识符来使用。序列的生成过程独立于数据库事务,一旦生成就不会因为事务的回滚而撤销,这确保了...
序列生成器在Oracle中的使用十分灵活,可以满足不同场景下的需求。本文主要探讨了如何创建和使用Oracle序列。 一、创建序列 创建序列的SQL语句如下: ```sql create sequence 序列名 [minvalue n] [maxvalue n]...
该项目是一款基于Java的分布式序列生成工具bamboo-leaf(竹叶),包含130个文件,...它实现了leaf-segment和leaf-snowflake两种基础算法,并支持多种扩展算法,旨在生成全局唯一的序列,适用于各种分步式序列生成场景。
这个名为"测试多种方法生成唯一性随机码Demo"的项目显然旨在探索和比较不同的随机码生成策略,以确保生成的序列具有低重复率和高唯一性。下面将详细介绍几种可能的方法,并探讨它们的优缺点。 1. **UUID(通用唯一...
`唯一序列生成器.txt` 这个文件名可能是某种序列生成脚本的输出结果,如果这个脚本是用来生成唯一序列的,那么在 Java 中调用它可能涉及到数据库操作或序列生成算法的实现。 总结来说,Java 提供了强大的能力来与...
3. **序列(Sequence)**:Oracle序列是一种自增数字生成器,常用于生成唯一的ID,尤其是在没有自动增长字段的表中。使用`CREATE SEQUENCE`语句可以创建序列,可以指定初始值、增长步长、是否循环等属性。批量生成...
在MySQL数据库中,序列或ID生成方案是数据库设计的关键部分,尤其对于高并发系统而言,高效且无冲突的ID生成机制至关重要。本方案主要探讨如何在MySQL中实现一个可靠的序列/ID生成策略,以满足并发处理的需求。 ...
在Oracle数据库中,序列(Sequences)是一种自动递增或递减的数字生成器,常用于为表的主键字段生成唯一的标识符。在大型数据库系统中,它们是管理序列化和唯一性的重要工具。本篇文章将深入探讨如何在Oracle中生成...
Java中的UUID(Universally Unique Identifier)是一种用于生成全局唯一标识符的标准,由开源软件基金会(OSF)在分布式计算环境中提出。UUID的主要目的是确保在分布式系统中的任何元素都有其独特的识别信息,无需...
为了降低UIO序列方法的测试序列长度,通过研究现有的测试序列生成方法,将可逆序列引入到测试序列的生成算法中,将其作为所有转移和状态的连接序列,并利用中国农村邮递员问题的解法构造一条最短遍历路径,使得各个...
最后,在需要生成唯一ID时,我们可以在INSERT语句中调用`nextval`函数,它会返回当前序列的下一个值。例如,将nextval('myseq')插入到数据表中: ```sql INSERT INTO your_table (your_id_column) VALUES (nextval...