[原创]UUID的介绍和使用

最近项目用要在服务器上保存从Android终端传过来的图片,公司以前的项目中使用的是使用时间戳的方式给图片命名,这样就存在一个问题,如果并发够大的话可能会两张图片结果只保存了一张,而这种情况使用UUID代替是一个不错的选择.


  1. 什么是UUID?

A universally unique identifier (UUID) is an identifier standard used in software construction. A UUID is simply a 128-bit value. The meaning of each bit is defined by any of several variants.

UUD的全称是Universally unique identifier,硬翻的话就是生成全宇宙都不可能重复的字符串序列.它的使用场景是在一些需要唯一标识的地方,曾经我们有一个项目的数据库使用的ID主键就是靠UUID生成的.
2. 如何在Java中使用UUID?
Java的标准类库rt.jar中已经包含了一个UUID的实现,使用起来也特别方便,下面的一个示例可以产生一个UUID.

	@Test
	public void testUUID() throws URISyntaxException {
		String path = this.getClass().getResource("/").toURI().getPath().replace("/SomeWebPrj/WEB-INF/classes", "") + "img_upload_sample/";
		String fileName = UUID.randomUUID().toString();
		String fullName = path + fileName + ".jpeg";
		System.out.println("uuid:" + fileName);
}

运行一下,就能看到生成的UUID了:
uuid:e6bf5b96-445f-42dd-8872-dc28078a5de8

在获取类的路径时有时候会遇到字符串中包含Programe%20Files这样的错误的位置,上面代码中使用使用.toURI().getPath()就是为了解决这个问题,这是Java的bug,在Java的官方论坛中提到过.

posted @ 2015-06-20 19:28  王龙彪  阅读(1186)  评论(1编辑  收藏  举报