|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。
1、熟悉UUID
UUID
维基百科,自在的百科全书
通用独一辨认码(UniversallyUniqueIdentifier,UUID)是一个软件建构的尺度,亦为自在软件基金会(OpenSoftwareFoundation,OSF)的构造在散布式盘算情况(DistributedComputingEnvironment,DCE)范畴的一部分。
UUID的目标,是让散布式体系中的一切元素,都能有独一的辨识信息,而不必要经由过程中心把持端来做辨识信息的指定。云云一来,每一个人都能够创建不与别的人抵触的UUID。在如许的情形下,就不需思索数据库创建时的称号反复成绩。今朝最普遍使用的UUID,便是微软的MicrosoftsGloballyUniqueIdentifiers(GUIDs),而其他主要的使用,则有Linuxext2/ext3文件体系、LUKS加密分戋戋、GNOME、KDE、MacOSX等等。别的我们也能够在e2fsprogs包中的UUID库找到完成。
[编纂]界说
一组UUID,系由一串16字节(亦称16字节,或128位)的16进位数字所组成,是故UUID实际上的总数为216x8=2128,约即是3.4x1038。也就是说若每奈秒发生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个位在此版本(RandomlygeneratedUUID)被利用,另有2个在其变体(Leach-Salz)中被利用。使用诞辰悖论,可盘算出两笔UUID具有不异值的机率约为
以下是以x=2122盘算出n笔UUID后发生碰撞的机率:
n机率
68,719,476,736=2360.0000000000000004(4x10-16)
2,199,023,255,552=2410.0000000000004(4x10-13)
70,368,744,177,664=2460.0000000004(4x10-10)
与被陨石击中的机率对照的话,已知一团体每一年被陨石击中的机率估量为170亿分之1[1],也就是说机率约莫是0.00000000006(6x10-11),同等于在一年内置立数十兆笔UUID并产生一次反复。换句话说,每秒发生10亿笔UUID,100年后只发生一次反复的机率是50%。假如地球上每一个人都各有6亿笔UUID,产生一次反复的机率是50%。
发生反复UUID并形成毛病的情形十分低,是故年夜可不用思索此成绩。
机率也与乱数发生器的品德有关。若要制止反复机率进步,必需要利用奠定于暗码学上的假乱数发生器来天生值才行。
http://zh.wikipedia.org/zh-cn/UUID
<p>
C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作, |
|