UUID在Java中的两种产生方式
来源:互联网 发布:淘宝哪有做假病历的 编辑:程序博客网 时间:2024/04/29 16:11
需求:
集群环境下需要产生uuid,uuid的作用不言而喻
转发请注明出处:http://snv.iteye.com/
环境:
- <dependency>
- <groupId>org.safehaus.jug</groupId>
- <artifactId>jug</artifactId>
- <version>2.0.0</version>
- <classifier>asl</classifier>
- </dependency>
或:
- <dependency>
- <groupId>org.safehaus.jug</groupId>
- <artifactId>jug</artifactId>
- <version>2.0.0</version>
- <classifier>lgpl</classifier>
- </dependency>
两个的区分只是license不一样
基于JUG实现:
- UUIDGenerator generator=UUIDGenerator.getInstance();
- UUID uuid=generator.generateRandomBasedUUID();
- System.out.println(uuid.toString());
- uuid=generator.generateTimeBasedUUID();
- System.out.println(uuid.toString());
基于JDK的实现:
- String uuidStr=java.util.UUID.randomUUID().toString();
- System.out.println(uuidStr);
PS:
两种方式我单机测试jdk的性能高不知道各位看官有什么看法,测试如下:
- public static void cost() throws Exception {
- UUIDGenerator generator=UUIDGenerator.getInstance();
- final int size=10000000;
- long now=System.currentTimeMillis();
- for (int i = 0; i < size; i++) {
- UUID uuid=generator.generateRandomBasedUUID();
- String uidStr=(uuid.toString());
- }
- long time1=System.currentTimeMillis();
- for (int i = 0; i < size; i++) {
- String uidStr=java.util.UUID.randomUUID().toString();
- }
- long end=System.currentTimeMillis();
- System.out.println("jug cost:"+(time1-now));
- System.out.println("jdk cost:"+(end-time1));
- }
结果:
- jug cost:11209
- jdk cost:10114
0 0
- UUID在Java中的两种产生方式
- java 产生随机数的两种方式
- Java产生随机数两种方式
- java产生随机数的两种方式
- javascript生成UUID的两种方式
- java产生UUID
- Java 产生 GUID / UUID
- Java 产生 GUID / UUID
- Java 产生 UUID / GUID
- java 随机数的产生方式(两种)
- 介绍java 产生随机数的两种方式
- 什么是uuid以及uuid在java中的使用
- Java中的两种代理方式
- Java中的两种GC方式
- Java中的两种多线程实现方式
- Java 中的两种查找算法方式
- 自动产生随机数的两种方式
- 产生随机数的两种方式
- 天空
- sql2000嵌套查询04--带有EXISTS谓词的子查询
- Fire!
- The LMAX Architecture
- python paramiko 通过密钥文件登陆ssh和听过sftp上传文件
- UUID在Java中的两种产生方式
- Leetcode Populating Next Right Pointers in Each Node
- prim算法
- 在android下创建文件夹及修改其权限的方法
- JpathWatch在linux下的使用
- 跨平台多线程编程
- 爱是什么
- SQL Server(2008)中通过触发器进行数据同步的设置说明
- Understanding Row Identifiers(ROWID)