zoukankan      html  css  js  c++  java
  • java uuid

    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的代码 
    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); 
        } 

    2.使用UUID的好处在分布式的软件系统中(比如:DCE/RPC, COM+,CORBA)就能体现出来,它能保证每个节点所生成的标识都不会重复,并且随着WEB服务等整合技术的发展,UUID的优势将更加明显。根据使用的特定机制,UUID不仅需要保证是彼此不相同的,或者最少也是与公元3400年之前其他任何生成的通用惟一标识符有非常大的区别。

    3.uuid能保证在分布式软件开发中,每个主机生成的uuid是不同的,因为uuid里面的值包括了以太网卡,计算机mac地址值

    4.3.uuid能保证在分布式软件开发中,每个主机生成的uuid是不同的,因为uuid里面的值包括了以太网卡,计算机mac地址值

  • 相关阅读:
    【搜索好题】bzoj1501 [NOI2005]智慧珠游戏
    bzoj1854 [Scoi2010]游戏 ([SCOI2010]连续攻击游戏)
    bzoj1412 [ZJOI2009]狼和羊的故事
    LeetCode(22)Generate Parentheses
    LeetCode(11) Container With Most Water
    VS2013环境下Boost库配置
    LeetCode(87) Gray Code
    LeetCode(86) Partition List
    LeetCode(82)Remove Duplicates from Sorted List
    LeetCode(81) Search in Rotated Array II
  • 原文地址:https://www.cnblogs.com/panxuejun/p/6527689.html
Copyright © 2011-2022 走看看