zoukankan      html  css  js  c++  java
  • java UUID的创建

    java UUID的创建:

    参考:http://blog.csdn.net/yaerfeng/article/details/7070369 可以研究一下最后的一段代码;

    http://spiritfrog.iteye.com/blog/604048

    http://www.cnblogs.com/jdonson/archive/2009/07/22/1528466.html

    package com.stono.test;
    
    import java.util.UUID;
    
    public class TestUUID {
    
        public static void main(String[] args) {
            UUID uuid = UUID.randomUUID();
            printUUID(uuid);
            /**
             * dd1646bd-f104-4de8-9d08-582a823b39e6
                length:36
                version:4
                variant:2
             */
            // 输入参数必须是一个已有的UUID
            UUID uuid3 = UUID.fromString("2e8314b1-0b5d-4475-9ea1-52b01acbeaac");
            printUUID(uuid3);
            /**
             * 2e8314b1-0b5d-4475-9ea1-52b01acbeaac
                length:36
                version:4
                variant:2
             */
            // 如下三个方法都会抛出异常;
            // System.out.println(uuid.node());
            // System.out.println(uuid.timestamp());
            // System.out.println(uuid.clockSequence());
            /**
             * Exception in thread "main" java.lang.UnsupportedOperationException: Not a time-based UUID
                at java.util.UUID.node(UUID.java:363)
                at com.stono.test.TestUUID.main(TestUUID.java:15)
             */
            UUID uuid2 = UUID.randomUUID();
            printUUID(uuid2);
            System.out.println(uuid2.compareTo(uuid));
            System.out.println(uuid.compareTo(uuid2));
            System.out.println(uuid.compareTo(uuid));
            
            // 这样的输入会产生 00000000-0000-0001-0000-000000000002 UUID
            UUID uuid4 = new UUID(1L, 2L);
            printUUID(uuid4);
        }
    
        private static void printUUID(UUID uuid) {
            String string = uuid.toString();
            System.out.println(string);
            System.out.println("			length:"+string.length());
            /**
             *  version 表示意义:
             *  1 基于时间的 UUID 
                2 DCE 安全 UUID 
                3 基于名称的 UUID 
                4 随机生成的 UUID 
             */
            System.out.println("			version:"+uuid.version());
            /**
             *  variant 表示意义:
             *  0 为 NCS 向后兼容保留 
                2 Leach-Salz 变体(由此类使用) 
                6 保留,Microsoft Corporation 向后兼容 
                7 保留供以后定义使用 
             */
            System.out.println("			variant:"+uuid.variant());
            System.out.println("			hashCode:"+uuid.hashCode());
            //返回此 UUID 的 128 位值中的最高有效 64 位。 
            System.out.println("			MostSignificantBits:"+uuid.getMostSignificantBits());
            //返回此 UUID 的 128 位值中的最低有效 64 位。 
            System.out.println("			LeastSignificantBits:"+uuid.getLeastSignificantBits());
            System.out.println("==================");
        }
    
    }
  • 相关阅读:
    浮动 无刷新 div
    vidalia 更换浏览器代理
    vb 主动 点击 a
    Delphi 资料收集
    用Linux的iptables和Python模拟广域网
    框架资源
    div 边框
    Google App Engine
    mac 雪豹 10.6 五国
    Windows Azure Storage (3) Windows Azure Storage Service存储服务之Blob详解(中)
  • 原文地址:https://www.cnblogs.com/stono/p/4976491.html
Copyright © 2011-2022 走看看