利用Java.util.UUID来生成唯一ID(用来做数据库主键好用)

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的工具类

package com.cn.util;import java.util.UUID;public class UuidUtil {    public static String get32UUID() {
        String uuid = UUID.randomUUID().toString().trim().replaceAll("-", "");        return uuid;
    }    
    public static void main(String[] args) {
        System.out.println(get32UUID());
    }
}

时间: 2024-10-12 20:05:34

利用Java.util.UUID来生成唯一ID(用来做数据库主键好用)的相关文章

python使用uuid库生成唯一id

概述: UUID是128位的全局唯一标识符,通常由32字节的字符串表示. 它可以保证时间和空间的唯一性,也称为GUID,全称为: UUID -- Universally Unique IDentifier Python 中叫 UUID GUID -- Globally Unique IDentifier C# 中叫 GUID 它通过MAC地址.时间戳.命名空间.随机数.伪随机数来保证生成ID的唯一性. UUID主要有五个算法,也就是五种方法来实现: 1.uuid1()--基于时间戳 由MAC地址

Python 标准库 —— uuid(生成唯一 ID)

1. 基础 UUID 是 128 位的全局唯一标识符,通常由 32 字节的字符串(十六进制)表示. 它可以保证时间和空间的唯一性,也称为GUID,全称为: UUID -- Universally Unique IDentifier Python 中叫 UUID GUID -- Globally Unique IDentifier C# 中叫 GUID 它通过MAC地址.时间戳.命名空间.随机数.伪随机数来保证生成 ID 的唯一性. UUID主要有五个算法,也就是五种方法来实现: 1.uuid1(

java.util.UUID通用唯一识别码的介绍

UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份.UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定.如此一来,每个人都可以建立不与其它人冲突的 UUID.在这样的情

Java生成唯一ID

这里我用的是Java提供的java.util.UUID类来产生随机字串,UUID码是什么我就不再赘述,能满足我们的需求就可以. 下面是java代码: 1 import java.util.UUID; 2 3 public class Test { 4 5 private String getId(){ 6 UUID uuid = UUID.randomUUID(); 7 return uuid.toString().replace("-", ""); 8 } 9 1

UUID.randomUUID()生成唯一识别码

1.UUID 的概念UUID(Universally Unique Identifier):通用唯一识别码,是一种软件建构的标准. UUID 目的是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定. UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的. 2.UUID的组成UUID由以下几部分组合: (1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相

在分布式场景,生成唯一ID

在分布式环境下生成数据库主键是一件比较麻烦的事情,这里简单总结下,以供以后使用. 数据库自增长序列或字段 每个服务器使用自增主键,不同服务器的步长不一样,比如 A 服务器生成 1,3,5,7... B 服务器生成 2,4,6,8.... 缺点:难以扩展.合并数据库时非常麻烦.分库分表时难以处理. UUID 常见的方式.可以利用数据库也可以利用程序生成,一般来说全球唯一. 缺点:没有排序,无法保证趋势递增.查询效率比较低.存储量比较大.不可读. Redis 生成 ID 使用 Redis 的原子性生

php 生成唯一id的几种解决方法

网上查了下,有很多的方法 1.md5(time() . mt_rand(1,1000000)); 这种方法有一定的概率会出现重复 2.php内置函数uniqid() uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID. w3school参考手册有一句话:"由于基于系统时间,通过该函数生成的 ID 不是最佳的.如需生成绝对唯一的 ID,请使用 md5() 函数". 下面方法返回结果类似:5DDB650F-4389-F4A9-A100-501EF1348872 functi

PHP生成唯一ID的三种方法

1.md5(time() . mt_rand(1,1000000)); 这种方法有一定的概率会出现重复 2.php内置函数uniqid() uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID. w3school参考手册有一句话:"由于基于系统时间,通过该函数生成的 ID 不是最佳的.如需生成绝对唯一的 ID,请使用 md5() 函数". 下面方法返回结果类似:5DDB650F-4389-F4A9-A100-501EF1348872 com_create_guid()是p

利用java.util.prefs包操作windows注册表

利用java.util.prefs包操作windows注册表 Java 操作windows注册表,主要的API 主要接口 接口 说明 NodeChangeListener 用于接收首选项节点更改事件的侦听器. PreferenceChangeListener 用于接收首选项节点更改事件的侦听器. PreferencesFactory 生成Preferences对象的factory对象. 主要的类 类 说明 AbstractPreferences 此类提供了Preferences类的骨干实现,从而