当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

Java的UUID生成工具并发测试[Java编程]

赞助商链接



  本文“Java的UUID生成工具并发测试[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

1、熟习UUID

UUID

维基百科,安闲的百科全书

通用唯一辨认码 (Universally Unique Identifier, UUID) 是一个软件建构的尺度,亦为安闲软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 范畴的一部份.

UUID 的目的,是让分布式系统中的全部元素,都能有唯一的辨识信息,而不需求通过中央掌握端来做辨识信息的指定.如此一来,每个人都可以成立不与别的人冲突的 UUID.在这样的情形下,就不需考虑数据库成立时的名称反复问题.目前最遍及利用的 UUID,便是微软的 Microsoft's Globally Unique Identifiers (GUIDs),而其他重要的利用,则有 Linux ext2/ext3 文件系统、LUKS 加密分区区、GNOME、KDE、Mac OS X 等等.别的我们也可以在 e2fsprogs 包中的 UUID 库找到实现.

[编辑] 定义

一组 UUID,系由一串 16 字节(亦称 16 字节,或 128 位)的16进位数字所构成,是故UUID理论上的总数为216 x 8=2128,约等于3.4 x 1038.也就是说若每奈秒产生1兆个UUID,要花100亿年才会将全部UUID用完.

UUID的尺度范例包含32个16进位数字,以连字号分为五段,情势为8-4-4-4-12的32个字符.示例;

550e8400-e29b-41d4-a716-446655440000

UUID 亦可决心反复以表示同类.比方说微软的COM中,全部组件皆必须实现出IUnknown接口,办法是产生一个代表IUnknown的UUID.无论是程序试图拜候组件中的IUnknown接口,或是实现IUnknown接口的组件,只要IUnknown一被利用,皆会被参考至同一个 ID:00000000-0000-0000-C000-000000000046.

[编辑] 随机UUID的反复机率

随机产生的UUID(比方说由java.util.UUID类产生的)的128个位中,有122个位是随机产生,4个位在此版本('Randomly generated UUID')被利用,还有2个在其变体('Leach-Salz')中被利用.操纵生日悖论,可计算出两笔UUID拥有相同值的机率约为

以下是以x=2122计算出n笔UUID后产生碰撞的机率:

n 机率
68,719,476,736 = 236 0.0000000000000004 (4 x 10-16)
2,199,023,255,552 = 241 0.0000000000004 (4 x 10-13)
70,368,744,177,664 = 246 0.0000000004 (4 x 10-10)

与被陨石击中的机率对比的话,已知一个人每年被陨石击中的机率预计为170亿分之1[1],也就是说机率大约是0.00000000006 (6 x 10-11),平等于在一年内置立数十兆笔UUID并发生一次反复.换句话说,每秒产生10亿笔UUID,100年后只产生一次反复的机率是50%.假如地球上每个人都各有6亿笔UUID,发生一次反复的机率是50%.

产生反复UUID并造成错误的情形非常低,是故大可没必要考虑此问题.

机率也与乱数产生器的品质有关.若要避免反复机率提高,必必要利用奠基于密码学上的假乱数产生器来生成值才行.

http://zh.wikipedia.org/zh-cn/UUID


  以上是“Java的UUID生成工具并发测试[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .