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. UML关系总结

    用例图: 1.扩展关系:如果已有一个用例,在这个用例的基础(该用例是完整的)上加入新的动作形成了另一个用例,即后者是通过继承前者的属性并加入新的内容而来的,则前者通常称为通用化用例,后者常为扩展用例. ...

  2. FOJ 2206 函数求解

    水题 /* *********************************************** Author :Zhou Zhentao Email :774388357@qq.com C ...

  3. ecos的mvcl

    m 数据模型抽象层 v 视图 c 控制器 l 业务逻辑 mvc与mvcl区别 mvc中的m是mvcl中m+l

  4. CodeForces 76E Points

    给出n个点,求任意两点间距离的平方和. 暴力显然超时,可以把公式写出来,化简一下,发现预处理一下后缀和就可以o(n)出解了. #include<cstdio> #include<cs ...

  5. Java中的数组越界问题

    Java中数组初始化和OC其实是一样的,分为动态初始化和静态初始化, 动态初始化:指定长度,由系统给出初始化值 静态初始化:给出初始化值,由系统给出长度 在我们使用数组时最容易出现的就是数组越界问题, ...

  6. express4.x中路由中间件和挂载路径的关系

    express4.x 中一个路由中间件可以挂载到多个路由上,一个路由也可以绑定多个路由中间件,如: //多个路由匹配一个路由中间件 app.use(['/gre+t', '/hel{2}o'], gr ...

  7. 使用RGBa和Filter实现不影响子元素的CSS透明背景

    点击查看原文 问题 如果我们想要一个元素拥有半透明的背景,我们有两个选择: 使用CSS和 opacity 做一张 24-bit PNG 背景图片 在CSS中使用opacity有两个问题,一是为了适应所 ...

  8. linux devel包 和 非devel包的区别

    devel 包主要是供开发用,至少包括以下2个东西: 1. 头文件 2. 链接库 有的还含有开发文档或演示代码. 以 glib 和 glib-devel 为例: 如果你安装基于 glib 开发的程序, ...

  9. 关于JAVA中hashCode

    hash code 即散列码根据对象计算出的一个整型值,散列码是没有规律的. 如果两个对象相等(equal() 返回true),则hashCode一定相等,如果两个对象hashCode相等,则对象不一 ...

  10. STM32+NRF24L01无线(转)

    源:STM32+NRF24L01无线 硬件SPI和模拟SPI源码: nrf24发送(模拟SPI)BHS-STM32.rar nrf24接收(模拟SPI)BHS-STM32.rar nrf24发送(硬件 ...