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(Universally Unique Identifier,全球唯一标识符)是一种软件建筑中用于标识信息的标识符。UUID 的主要用途是为了在分布式系统中生成唯一的标识符,以便于标识一些信息...
注意,由于UUID16实际上在Java中并没有特别的含义,这里的"UUID16"可能是指使用了特定方式生成的UUID,比如特定版本1的实现。在实际开发中,我们通常直接使用`UUID.randomUUID()`来生成版本4的UUID,因为它不需要...
本文将深入探讨如何在 Java 中实现这一过程,并讨论相关的实现细节和技术要点。 #### 二、Base64 编码与 UUID ##### 2.1 Base64 编码简介 Base64 编码是一种常用的二进制到文本的编码方式,它能将二进制数据转换为...
在Java中,UUID主要通过`java.util.UUID`类来实现。这个类提供了多种生成UUID的方法,包括最常用的`randomUUID()`方法,它基于当前时间戳和随机数生成一个UUID。UUID由128位的数字组成,通常用16进制表示,形式为8-4...
在Java中,我们可以通过以下步骤实现一个简单的UUID生成器: 1. **时间戳**:我们可以使用`System.currentTimeMillis()`获取当前时间(以毫秒为单位),然后将其转换为16进制字符串。由于128位UUID中时间戳部分占到...
通过以上介绍,我们可以看到 Java 中 UUID 的生成方式非常多样,既可以使用内置的 `java.util.UUID` 类,也可以通过自定义类实现更加灵活的 UUID 生成机制。对于特定的应用场景,例如需要基于 MAC 地址和时间戳生成 ...
总结来说,生成32位UUID在Java中可通过去除128位UUID的短横线实现,但需注意其可能不满足全局唯一性的需求。如果需要紧凑的唯一标识,应谨慎评估所选方案是否满足业务需求。在实际开发中,可以根据具体应用场景选择...
在Java中,UUID由java.util包下的UUID类来实现,它是一个不可变的、不可序列化的类,并且实现了Comparable接口,方便进行比较。 UUID的结构是固定的,总共36个字符,由16进制的数字组成,并用四条短横线分隔成五个...
在Java编程中,UUID(Universally Unique Identifier)是一种标准的128位的唯一标识符,通常用于生成不可预测的全局唯一ID。然而,标准的UUID由32个16进制数字组成,形式上类似于“123e4567-e89b-12d3-a456-...
java 提供通用唯一识别码(universally unique identifier)(UUID)实现 java 提供通用唯一识别码(universally unique identifier)(UUID)实现 java 提供通用唯一识别码(universally unique identifier)(UUID...
Java Uuid生成器(JUG) JUG是一组用于处理UUID的Java类:使用任何标准方法生成UUID,有效输出,排序等。 它根据生成UUID(有关更多说明,另请参见) JUG由Tatu Saloranta( )最初于2002年编写,并且经过多年的...
- **跨平台性**:UUID标准在多种操作系统和编程语言中得到支持,包括Windows、Linux、Mac OS X以及Java、C#等多种编程语言。 #### 三、UUID的类型 根据生成方法的不同,UUID可以分为以下几种类型: 1. **时间型UUID...
在Java中,UUID是由java.util.UUID类提供的,可以生成两种类型的UUID:时间戳基的UUID和名称基的UUID。 时间戳基的UUID是基于当前时间创建的,通过记录当前时间(精确到纳秒)和一个随机或伪随机数生成。这种类型的...
在Java编程语言中,生成UUID非常简单,可以直接使用`java.util.UUID`类提供的静态方法。例如,`UUID.randomUUID()`会返回一个基于时间的UUID,这是最常用的类型。然而,如果要根据IP地址或其他自定义信息生成UUID,...
而在Java中,可以使用`java.util.UUID`类的静态方法`randomUUID()`。 使用PB生成UUID的步骤大致如下: 1. 引入PB库:首先,需要在项目中引入相应的PB库,这可能通过添加依赖或import语句完成。 2. 定义数据结构:在...
为了创建一个可以在Impala中使用的UDF,我们需要实现一个Java类,并将其打包成JAR文件。在这个例子中,我们的目标是创建一个名为`uuid2`的函数,该函数返回一个没有连字符的UUID。 ##### 实现UUID生成方法 首先,...
在基准测试中,解析UUID的速度比编写JU实现快14倍,编写UUID的速度快6倍。 与Java 9和更高版本相比,它在解析UUID时快大约六倍,并且在编写UUID方面没有任何好处。 该库适用于使用大量UUID或以性能敏感代码使用...
3. **实现C/C++函数**:在生成的头文件或者单独的.C或.CPP文件中实现`getUUIDFromNDK`函数,使用Linux系统调用`sysfs`或`udev`来读取UUID。例如: ```c++ #include #include #include #include #include ...
例如,在Java中,可以使用`java.util.UUID`类来生成和操作UUID;在Python中,可以导入`uuid`模块来实现相同功能。在实际应用中,UUID常用于数据库主键、临时文件命名、分布式系统中的唯一标识等场景,避免了命名冲突...
通过这个开源项目,开发者不仅可以获取UUID,还可以了解如何在Java中实现这样的工具,甚至可以学习到关于命令行接口(CLI)和剪贴板操作的知识。同时,参与到开源社区中,可以提升自己的编程技能,也可以为社区做出...