`
liyuandong
  • 浏览: 329158 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

唯一序列的生成

    博客分类:
  • JAVA
阅读更多

     UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。 

1. JDK1.5 
如果使用的JDK1.5的话,那么生成UUID变成了一件简单的事,因为JDK实现了UUID: java.util.UUID,直接调用即可.

 

 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代码 

 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);      

    }  

      

 }   

 

分享到:
评论

相关推荐

    C#生成唯一序列ID

    采用了4中方式实现唯一id生成。 其他语言可以改动。

    java产生随即字符串和唯一序列串等得工具包

    我是我自己写的一个工具类,打了包,里面含有源文件,可根据需要产生指定长度的大写或者小写或者大小写均有,或者纯数字,或者数字字符具有,以及产生唯一字符序列的串方法。

    轻松掌握oracle数据库开发中序列的使用

    序列是一数据库对象,利用它可生成唯一的整数。Oracle序列允许同时生成多个序列号,而每一个序列号是唯一的。当一个序列号生成时,序列是递增,独立于事务的提交或回滚。本文介绍了Oracle中建立、更改、删除序列的...

    论文研究-基于FSM的测试序列生成方法研究.pdf

    为了降低UIO序列方法的测试序列长度,通过研究现有的测试序列生成方法,将可逆序列引入到测试序列的生成算法中,将其作为所有转移和状态的连接序列,并利用中国农村邮递员问题的解法构造一条最短遍历路径,使得各个...

    JAVA版本的生成唯一编号

    * 获得序列号,同时更新持久化存储中的序列 * @param current 当前的日期 * @param start 初始化的序号 * @return 所获得新的序列号 */ protected abstract int getOrUpdateNumber(Date current, int start);

    Oracle数据库表序列ID自增生成器

    Oracle数据库表序列ID自增生成器的功能是为数据库中的表添加序列和触发器,以便使数据表的主键ID能够随着记录的增加而自动增加。

    ident:唯一身份生成器

    节点的唯一身份/令牌生成器 生成唯一的不可预测的分布式标识符。 它是由 ,随机字节和两个部分HMAC组合而成的。 它使用编码。 安装 npm install @ theroyalwhee0 / ident 或者 纱线添加@ theroyalwhee0 / ident ...

    利用网卡生成全球唯一序列号,做自己的注册机

    利用网卡生成全球唯一序列号,环境VC2010,绝对可用,对于自己软件需要客户注册才能用的同学有极大帮助。自己已经用在了实际的工程里面。不愿独享,特与大家分享。

    java-uniqueid:唯一的ID生成器,专门处理小型ID

    唯一ID生成器唯一的ID生成器,在分布式上下文中生成唯一的1个八个字节的标识符。 在所选计算环境的范围内是唯一的。这是为了什么? 当您要为分布式计算环境中的对象(例如,数据库记录)分配唯一的标识符,这些...

    把整数生成唯一字符串的PHP库.zip

    在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一...

    软件序列号生成小算法

    这是一个软件序列号生成小算法,VC实现,根据硬盘序列号产生唯一对应序列号 抛砖引玉而已

    UUID全局唯一标识符

    由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,...

    neatUid:干净简单的基于时间的唯一 ID 生成器

    干净简单的基于时间的唯一 ID 生成器 neatUid 使用 Date.getTime() 来消除单机创建冲突。 它将小随机种子应用于时间戳 更好的防冲突生成 Сamouflage 随时间增加的连续性。 输出样本: 1v3grha41ly gvnzto7lpy 2a...

    最长公共子序列----算法分析之动态规划

    动态规划解决最长公共子序列问题,即寻找两个序列中公共的序列中的最长的那个,结果不唯一,只能输出一个最长公共子序列,并不能生成所有的; 可视化多文档,手动输入两个子序列,显示动态规划算法的解决表格,箭头...

    java雪花算法生成唯一id

    41位时间截(毫秒级),注意,41位时间截不是存储当前时间的时间截,而是存储时间截的差值(当前时间截 - 开始时间截)得到的值),这里的的开始时间截,一般是我们的id生成器开始使用的时间,由我们程序来指定的(如下...

    go-flake:go-flake生成可以按时间大致排序的唯一标识符

    剥落go-flake生成可以按时间大致排序的唯一标识符。 Flake可以在机器集群上运行,并且仍然可以生成唯一的ID,而无需工作人员协调。 一个Flake ID是一个64位整数,它将由以下部分组成: 41位是毫秒精度的时间戳10位是...

    Java 数据库主键生成类 IdWorker

    高并发分布式系统中生成全局唯一Id汇总 数据在分片时,典型的是分库分表,就有一个全局ID生成的问题。 单纯的生成全局ID并不是什么难题,但是生成的ID通常要满足分片的一些要求: 1 不能有单点故障。 2 以时间为...

    深入解读PostgreSQL中的序列及其相关函数的用法

    序列对象(也叫序列生成器)就是用CREATE SEQUENCE 创建的特殊的单行表。一个序列对象通常用于为行或者表生成唯一的标识符。 二、创建序列 方法一:直接在表中指定字段类型为serial 类型 david=# create table tbl_...

    xid:xid是针对网络的全球唯一ID生成器

    Xid使用Mongo Object ID算法生成具有不同序列化(base64)的全局唯一ID,以使其在以字符串形式传输时更短: : 4个字节的值,表示自Unix时代以来的秒数, 3字节机器标识符, 2字节的进程ID,以及3字节计数器,以随机...

    ruby_xid:Ruby Xid实现。 全球唯一的ID生成器

    Xid使用Mongo Object ID算法生成具有不同序列化(base64)的全局唯一ID,以使其在以字符串形式传输时更短: : 4个字节的值,表示自Unix时代以来的秒数, 3字节机器标识符, 2字节的进程ID,以及3字节计数器,以随机...

Global site tag (gtag.js) - Google Analytics