UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Microsoft's Globally Unique Identifiers (GUIDs),而其他重要的应用,则有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等。

UUID.randomUUID().toString()是javaJDK提供的一个自动生成主键的方法。UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的,是由一个十六位的数字组成,表现出来的形式。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。

 1 import java.util.UUID; 
 2   
 3 /** 
 4  *  
 5  * @author humf 
 6  */ 
 7 public class UploadUtils { 
 8      
 9     /** 
10      * 传入文件的名称,返回的唯一的名称 
11      * 例如:gril.jpg    返回sdjsljfsjdl.jpg 
12      * @param filename 
13      * @return 
14      */ 
15     public static String getUUIDName(String filename){ 
16         // 先查找 
17         int index = filename.lastIndexOf("."); 
18         // 截取 
19         String lastname = filename.substring(index, filename.length()); 
20         // 唯一 字符串  fsd-sfsdf-sfsd-sdfsd 
21         String uuid = UUID.randomUUID().toString().replace("-", ""); 
22         return uuid+lastname; 
23     } 
24      
25     public static void main(String[] args) { 
26         String filename = "girl.jpg"; 
27         String uuid = getUUIDName(filename); 
28         System.out.println(uuid); 
29     } 
30 }


发布评论
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

java基础---->Serializable的使用知识解答
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。