使用java.util.UUID生成唯一标识码

UUID是通用唯一识别码(Universally Unique Identifier),这是一个软件构建的标注,也是被开源软件基金会的组织应用在分布式计算机环境领域的一部分。UUID的目的是让分布式系统中的所有元素都能有唯一的标识码,目前最广泛应用的UUID是微软的GUID。UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的,通过平台会提供生成的API。UUID的唯一缺陷在于生成的结果串会比较长,标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx(8-4-4-4-12)。

上面是有关UUID的一些简单的介绍,在java中,UUID是1.5中新增的一个类,在java.util下,使用它可以生成一个全球唯一的ID。

package net.yedward.test;

import java.util.UUID;

public class UUIDDemo {
	public static void main(String[] args) {
		// 生成100个UUID
		for (int i = 0; i < 100; i++) {
			UUID uuid = UUID.randomUUID();
			System.out.println(uuid.toString());
		}
	}
}

上面代码就是一个简单的用法示例,可以生成100个UUID,会发现每个UUID都有很大的不同,上面生成的UUID形如:87bf8221-b608-434a-a786-a1c2f8b2d7b0。

有时候可以使用UUID来当数据库的主键,也可以使用UUID来作为上传文件在服务器上保存时候的文件名,这个时候最好是将UUID中的横线(-)去掉,可以使用replace方法,代码如下:

package net.yedward.test;

import java.util.UUID;

public class UUIDDemo {
	public static void main(String[] args) {
		// 生成100个UUID
		for (int i = 0; i < 100; i++) {
			UUID uuid = UUID.randomUUID();
			System.out.println(uuid.toString().replace("-", ""));
		}
	}
}

上面代码运行的结果形如:e5cbab7156dd4115ab0fbc9f54f40078,作为唯一性标识是比较不错的选择。

本文标题:使用java.util.UUID生成唯一标识码

本文链接:http://yedward.net/?id=333

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章