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("\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的创建的更多相关文章
- Effective Java笔记一 创建和销毁对象
Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 ...
- 图解JAVA对象的创建过程
前面几篇博文分别介绍了JAVA的Class文件格式.JVM的类加载机制和JVM的内存模型,这里就索性把java对象的创建过程一并说完,这样java对象的整个创建过程就基本上说明白了(当然你要有基础才能 ...
- Java Struts2 POI创建Excel文件并实现文件下载
Java Struts2 POI创建Excel文件并实现文件下载2013-09-04 18:53 6059人阅读 评论(1) 收藏 举报 分类: Java EE(49) Struts(6) 版权声明: ...
- Java线程:创建与启动
Java线程:创建与启动 一.定义线程 1.扩展java.lang.Thread类. 此类中有个run()方法,应该注意其用法: public void run() 如果该线程是使用独立的 R ...
- java中类的创建及初始化过程
java中类的创建及初始化过程无外乎两种情况,其一为单类的创建及初始化,其二具有继承关系的父子类创建及初始化过程. 首先说简单的,单类的创建及初始化过程.在java中我们都知道绝大部分对象的创 ...
- java io流 创建文件、写入数据、设置输出位置
java io流 创建文件 写入数据 改变system.out.print的输出位置 //创建文件 //写入数据 //改变system.out.print的输出位置 import java.io.*; ...
- JAVA程序的创建与编辑
1.JAVA项目的创建与命令编辑 打开JAVA程序,选择工具栏上的创建按钮旁边的小三角,在下拉菜单中选择创建JAVA项目,在出现的对话窗口中输入项目名,在JRE使用执行环境中选择可用的资源包,如果安装 ...
- Java中如何创建进程(转)
在Java中,可以通过两种方式来创建进程,总共涉及到5个主要的类. 第一种方式是通过Runtime.exec()方法来创建一个进程,第二种方法是通过ProcessBuilder的start方法来创建进 ...
- 漫谈并发编程(二):java线程的创建与基本控制
java线程的创建 定义任务 在java中使用任务这个名词来表示一个线程控制流的代码段,用Runnable接口来标记一个任务,该接口的run方法为线程运行的代码段. public ...
随机推荐
- shell命令前后端切换和暂停
Shell支持作用控制,有以下命令: 1. command& 让进程在后台运行 2. jobs 查看后台运行的进程编号 3 ctrl+z 然程序进入后台并且暂停 3. fg %n 让后台运行的 ...
- Python+Selenium WebDriver API:浏览器及元素的常用函数及变量整理总结
由于网页自动化要操作浏览器以及浏览器页面元素,这里笔者就将浏览器及页面元素常用的函数及变量整理总结一下,以供读者在编写网页自动化测试时查阅. from selenium import webdrive ...
- vi编辑器 :x与:wq的区别
按一下ESC键,之后 :wq保存和退出VI [vi是Unix/Linux系统最常用的编辑器之一,我习惯使用":x"命令来保存文件并退出,不愿意使用":wq"命令 ...
- Js中数据类型判断的几种方法
判断js中的数据类型有一下几种方法:typeof.instanceof. constructor. prototype. $.type()/jquery.type(),接下来主要比较一下这几种方法的异 ...
- CodeForces 621B Wet Shark and Bishops
记录一下每个对角线上有几个,然后就可以算了 #include<cstdio> #include<cstring> #include<cmath> #include& ...
- PHP学习笔记-session
session 在windows中的默认保存在AppDate/Local/Temp
- clip实现圆环进度条
效果主要通过clip和transform:rotate实现 把圆环分为左右两个部分,通过角度旋转对图片剪切旋转角度<=180度的时候之旋转右边,当大于180度时右边固定旋转180度的同时旋转左边 ...
- Delphi 中Format的字符串格式化使用说明(转)
源:Delphi 中Format的字符串格式化使用说明(转) 一.Format函数的用法 Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供 ...
- EHCache分布式缓存集群环境配置
EHCache分布式缓存集群环境配置 ehcache提供三种网络连接策略来实现集群,rmi,jgroup还有jms.同时ehcache可以可以实现多播的方式实现集群,也可以手动指定集群主机序列实现集群 ...
- spring 5种通知
方法实现接口 package com.cn.spring.aop.impl; //加减乘除的接口类 public interface ArithmeticCalculator { int add(in ...