Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1870005
  • 博文数量: 606
  • 博客积分: 9991
  • 博客等级: 中将
  • 技术积分: 5725
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 19:07
文章分类

全部博文(606)

文章存档

2011年(10)

2010年(67)

2009年(155)

2008年(386)

分类: Java

2009-03-17 17:22:49

java uuid生成方法
UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机
器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的
数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生
成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有
网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。
1. JDK1.5
如果使用的JDK1.5的话,那么生成UUID变成了一件简单的事,以为JDK实现了UUID: java.util.UUID,直接调用即可.
Java代码
Java代码   
import java.util.UUID;     
    
public class Test {     
    public static void main(String[] args) {     
        UUID uuid = UUID.randomUUID();     
        System.out.println(uuid.toString());     
    }     
Java代码
import java.util.UUID;  
 
public class Test {  
    public static void main(String[] args) {  
        UUID uuid = UUID.randomUUID();  
        System.out.println(uuid.toString());  
    }  
}
 
2. 第三方开源类库(推荐使用):
最著名的是 JUG .特点上是: 纯Java实现,开源,LGPL协议。采用了Native的方式产生真正的Uuid.而且提供了不同平台
的实现,包括:
Linux / x86
Windows (98, ME, NT, 2K, XP?) / x86
Solaris / Sparc
Mac OS X
FreeBSD / x86
Java代码
Java代码
import org.doomdark.uuid.UUIDGenerator;     
    
public class Test {     
    public static void main(String[] args) {     
        String primaryKey = UUIDGenerator.getInstance()     
                .generateRandomBasedUUID().toString();     
        primaryKey = primaryKey.replaceAll("-", "");     
    
        System.out.println(primaryKey);     
    }     
    
}  
import org.doomdark.uuid.UUIDGenerator;  
 
public class Test {  
    public static void main(String[] args) {  
        String primaryKey = UUIDGenerator.getInstance()  
                .generateRandomBasedUUID().toString();  
        primaryKey = primaryKey.replaceAll("-", "");  
 
        System.out.println(primaryKey);  
    }  
 
 
阅读(3764) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~