您的位置 首页 java

UUID的运用

全局唯一标识符(GUID,Globally Unique Identifier)也称作 UUID(Universally Unique IDentifier) 。 GUID 是微软对UUID这个标准的实现。

1.UUID 简介

UUID 含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准。

也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部分。

UUID 的目的,是让 分布式系统 中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。

如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。

2.UUID 组成

UUID保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。

按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。

UUID由以下几部分的组合:

(1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。

(2)时钟序列。

(3)全局唯一的IEEE机器识别号,如果有 网卡 ,从网卡 MAC地址 获得,没有网卡以其他方式获得。

UUID的唯一缺陷在于生成的结果串会比较长。关于UUID这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers)。

标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12)。

3.UUID的生成

UUID是1.5中新增的一个类,在 java .util下,用它可以产生一个号称全球唯一的ID.

import java.util.UUID;

public class JavaDemo {

public static void main(String[] args) {

UUID uuid = UUID.randomUUID();

System.out.println(uuid);

}

}

在cmd模式下执行的结果如下面截图:

JDK1.5

如果使用的JDK1.5的话,那么生成UUID变成了一件简单的事,因为JDK实现了UUID:

java.util.UUID,直接调用即可.

UUID uuid = UUID.randomUUID();

String s = UUID.randomUUID(). toString ();//用来生成数据库的 主键 id非常不错。

//下面就是实现为数据库获取一个唯一的主键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]);

}

}

}

下方是代码实际运行结果截图



南大盛联20年来一直致力于高端IT培训–打造高级软件人才实战培训专家,学生对我们的认可是我们一直前进的动力;项目团队全球招聘,特聘来自海外的老师进行任教,采用100%商业项目进行实战培训,线上线下同步进行。

课程全部紧随市场需求进行设计,并且动态进行调整;7天免费试听,0首付开始学习,学完后进行100%推荐就业,不满意工作岗位2次推荐。

选定一个平台,认识一群志同道合的朋友,你的未来人生路必定不一样。

目前已经开设下面这些培训项目

Java培训

安卓培训

JavaWeb培训

Linux培训

云服务器布置培训

HTML5培训

SEO培训

视频剪辑培训

UI培训

欢迎您们分享给自己愿意分享的朋友,大家一起来进步;相互转告,咨询,学习。

南大盛联培训理念:我懂,我也能让你懂。

文章来源:智云一二三科技

文章标题:UUID的运用

文章地址:https://www.zhihuclub.com/193838.shtml

关于作者: 智云科技

热门文章

网站地图