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("\t\t\tlength:"+string.length());
/**
* version 表示意义:
* 1 基于时间的 UUID
2 DCE 安全 UUID
3 基于名称的 UUID
4 随机生成的 UUID
*/
System.out.println("\t\t\tversion:"+uuid.version());
/**
* variant 表示意义:
* 0 为 NCS 向后兼容保留
2 Leach-Salz 变体(由此类使用)
6 保留,Microsoft Corporation 向后兼容
7 保留供以后定义使用
*/
System.out.println("\t\t\tvariant:"+uuid.variant());
System.out.println("\t\t\thashCode:"+uuid.hashCode());
//返回此 UUID 的 128 位值中的最高有效 64 位。
System.out.println("\t\t\tMostSignificantBits:"+uuid.getMostSignificantBits());
//返回此 UUID 的 128 位值中的最低有效 64 位。
System.out.println("\t\t\tLeastSignificantBits:"+uuid.getLeastSignificantBits());
System.out.println("==================");
} }

java UUID的创建的更多相关文章

  1. Effective Java笔记一 创建和销毁对象

    Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 ...

  2. 图解JAVA对象的创建过程

    前面几篇博文分别介绍了JAVA的Class文件格式.JVM的类加载机制和JVM的内存模型,这里就索性把java对象的创建过程一并说完,这样java对象的整个创建过程就基本上说明白了(当然你要有基础才能 ...

  3. Java Struts2 POI创建Excel文件并实现文件下载

    Java Struts2 POI创建Excel文件并实现文件下载2013-09-04 18:53 6059人阅读 评论(1) 收藏 举报 分类: Java EE(49) Struts(6) 版权声明: ...

  4. Java线程:创建与启动

    Java线程:创建与启动 一.定义线程   1.扩展java.lang.Thread类.   此类中有个run()方法,应该注意其用法: public void run() 如果该线程是使用独立的 R ...

  5. java中类的创建及初始化过程

    java中类的创建及初始化过程无外乎两种情况,其一为单类的创建及初始化,其二具有继承关系的父子类创建及初始化过程.     首先说简单的,单类的创建及初始化过程.在java中我们都知道绝大部分对象的创 ...

  6. java io流 创建文件、写入数据、设置输出位置

    java io流 创建文件 写入数据 改变system.out.print的输出位置 //创建文件 //写入数据 //改变system.out.print的输出位置 import java.io.*; ...

  7. JAVA程序的创建与编辑

    1.JAVA项目的创建与命令编辑 打开JAVA程序,选择工具栏上的创建按钮旁边的小三角,在下拉菜单中选择创建JAVA项目,在出现的对话窗口中输入项目名,在JRE使用执行环境中选择可用的资源包,如果安装 ...

  8. Java中如何创建进程(转)

    在Java中,可以通过两种方式来创建进程,总共涉及到5个主要的类. 第一种方式是通过Runtime.exec()方法来创建一个进程,第二种方法是通过ProcessBuilder的start方法来创建进 ...

  9. 漫谈并发编程(二):java线程的创建与基本控制

    java线程的创建 定义任务           在java中使用任务这个名词来表示一个线程控制流的代码段,用Runnable接口来标记一个任务,该接口的run方法为线程运行的代码段. public ...

随机推荐

  1. C#巧用Excel模版变成把Table打印出来

    将一个做好的Excel模版,通过程序填上数据然后打印出来这个需求有两种方法一种是通过代码打开Excel模版然后填入数据然后再打印. 第二种方法就是我将要介绍的 1.将Excel设置好格式另存为HTML ...

  2. 解决Maven默认仓库没有的jar下载(二)

    前言: 在 “解决Maven不能下载“oracle.aspectjweaver.com.springsource.net.sf.cglib”jar(http://www.cnblogs.com/wql ...

  3. ASP.NET中的SQL注入攻击与防护

    什么是SQL注入攻击? 它是在执行SQL查询的时候,由于接收了用户的非法参数从而导致,所执行的SQL语义与业务逻辑原本所要查询的语义不相符,从而实现的攻击. 例如我们经常使用的用户登录,通常会出现这样 ...

  4. C++类对应的内存结构

    提示1:对“内存结构”表示有疑问或不解的,先参考: http://blog.csdn.net/guogangj/archive/2007/05/25/1625199.aspx, 本文使用的表示方法和V ...

  5. .Net async

    概述 先吐个槽,.NET的TPL框架,以及这篇文章想要表述的async await关键字,都是.NET语言层面本身支持的一种异步框架,代表其在编译时是可以最大化的被优化,作为内部DSL来说,.NET一 ...

  6. Maven优雅的添加第三方Jar包

    在利用Maven构建项目的时候会出现某些Jar包无法下载到本地的Repository中,鉴于这种情况比较普遍存在,特归纳以下解决问题办法:以 ojdbc14-10.2.0.4.0.jar为例[其它Ja ...

  7. Tar打包、压缩与解压缩

    tar在linux上是常用的打包.压缩.加压缩工具,他的参数很多,折里仅仅列举常用的压缩与解压缩参数 参数: -c :create 建立压缩档案的参数: -x : 解压缩压缩档案的参数: -z : 是 ...

  8. 阿里云MaxCompute被Forrester评为全球云端数据仓库领导者

    参考消息网3月19日报道 日前,全球权威调研机构佛瑞斯特研究公司(Forrester)发布<2018年一季度云端数据仓库>报告.报告对大数据服务商的主要功能.区域表现.细分市场和典型客户等 ...

  9. 洛谷P1195口袋的天空

    传送门啦 一个裸的最小生成树,输出 $ No Answer $ 的情况只有 $ k < n $ 的时候. 开始令 $ num =n $ ,如果 $ num = k $ ,直接输出 $ 0 $ , ...

  10. Web前端开发最佳实践(2):前端代码重构

    前言 代码重构是业内经常讨论的一个热门话题,重构指的是在不改变代码外部行为的情况下进行源代码修改,所以重构之前需要考虑的是重构后如何才能保证外部行为不改变.对于后端代码来说,可以通过大量的自动化测试来 ...