Java中生成的UUID(全局唯一标识符-----(唯一)-------)
来源:互联网 发布:mac mobi转pdf软件 编辑:程序博客网 时间:2024/04/30 13:03
GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID。
UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (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 等等。
UUID的唯一缺陷在于生成的结果串会比较长。
以下是代码:
package cn.hncu.Telbook.utils;import java.util.UUID;public class GETuuid {//获得全球唯一性的idpublic static String getId(){String id=UUID.randomUUID().toString();//生成的id942cd30b-16c8-449e-8dc5-028f38495bb5中间含有横杠,<span style="color: rgb(75, 75, 75); font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 20.7999992370605px;">用来生成数据库的主键id是很实用的。</span>id=id.replace("-", "");//替换掉中间的那个斜杠return id;}}
测试代码:
package cn.hncu.Telbook.Test;import org.junit.Test;import cn.hncu.Telbook.utils.GETuuid;public class Test1 {@Testpublic void Test(){int n=3;while(n-->0){String id =GETuuid.getId();System.out.println(id);/* * 942cd30b-16c8-449e-8dc5-028f38495bb5535c010d-63d1-486e-912e-af274dcebe428827dcfa-e4a5-40e8-8b5f-cca60eae70e8 */}}}
输出结果:
<span style="white-space:pre"></span>942cd30b-16c8-449e-8dc5-028f38495bb5535c010d-63d1-486e-912e-af274dcebe428827dcfa-e4a5-40e8-8b5f-cca60eae70e8
2 0
- Java中生成的UUID(全局唯一标识符-----(唯一)-------)
- Javascript生成全局唯一标识符(GUID,UUID)的方法
- Javascript生成全局唯一标识符(GUID,UUID)的方法
- java UUID生成唯一标识符
- java UUID生成唯一标识符
- java UUID生成唯一标识符
- UUID全局唯一标识符
- uuid (guid)全局唯一标识符
- 全局唯一ID--UUID介绍、JAVA中UUID的使用
- Android生成唯一标识符UUID
- 生成全局唯一的ID,java 中
- 生成全局唯一标识符GUID
- 自定义函数实现java中的全局唯一标识符(UUID)方法
- UUID(通用唯一标识符)
- JAVA生成全局唯一ID 使用 java.util.UUID
- JAVA生成全局唯一ID 使用 java.util.UUID
- 利用Java的UUID生成唯一标识
- java生成唯一序列号,UUID的应用
- Android之ListView实现下拉刷新
- 浅谈HTTP中Get与Post的区别
- 【日常学习】【搜索递推和其他】10.21.2015校内测试总结
- 使用python对url编码解码
- O(N)时间复杂度、O(1)空间复杂度 构造数组
- Java中生成的UUID(全局唯一标识符-----(唯一)-------)
- JavaScript的作用域
- 【笨木头Unity】入门之旅002:不谈对象,咱们谈组件
- 【笨木头Unity】入门之旅003:HelloWorld
- 各种排序算法的分析及java实现
- 海南去旅游
- 【基础练习】【DFS】codevs2806 红与黑题解
- **LeetCode-Inorder Successor in BST
- 【基础练习】【DFS】codevs2549 自然数和分解题解