Java基础系列(基础):通用唯一标识码UUID的介绍及使用!

Java基础系列(基础):通用唯一标识码UUID的介绍及使用!


前言

今天博主将为大家分享:Java基础系列(基础):通用唯一标识码UUID的介绍及使用!不喜勿喷,如有异议欢迎讨论!首先推荐结合博主的这两篇文章进行阅读===>Java系列(面试必备):简单的hashCode和equals面试题,有好多坑!
Java系列(面试必备):你真的了解Java中"=="和equals()的区别?


什么是UUID?

  • UUID全称:Universally Unique Identifier,即通用唯一识别码。

  • UUID是由一组32位数的16进制数字所构成,是故UUID理论上的总数为16^32 = 2^128,约等于3.4 x 10^38。也就是说若每纳秒产生1兆个UUID,要花100亿年才会将所有UUID用完。

  • UUID的标准型式包含32个16进制数字,以连字号分为五段,形式为8-4-4-4-12的32个字符,如:550e8400-e29b-41d4-a716-446655440000。


UUID的作用

  • UUID的是让分布式系统中的所有元素都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。目前最广泛应用的UUID,是微软公司的全局唯一标识符(GUID),而其他重要的应用,则有Linux ext2/ext3文件系统、LUKS加密分区、GNOME、KDE、Mac OS X等等。

UUID的组成

  • UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。

UUID由以下几部分的组合:

  • 当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。

  • 时钟序列。

  • 全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。

UUID的唯一缺陷在于生成的结果串会比较长。关于UUID这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers)。


UUID的生成

public static void main(String[] args) throws Exception {


    System.out.println(UUID.randomUUID());


}

批量生成UUID网站:http://www.uuid.online/


到这里:Java基础系列(基础):通用唯一标识码UUID的介绍及使用!,分享完毕了,快去试试吧!


最后

  • 更多参考精彩博文请看这里:《陈永佳的博客》

  • 喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!


猜你喜欢

转载自blog.csdn.net/Mrs_chens/article/details/94389245