首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java使用UUID方式随机生成不重复标识

由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡...,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长 UUID是一个128位长的数字,一般用16进制表示。...算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成UUID。从理论上讲,如果一台机器每秒产生10000000个UUID,则可以保证(概率意义上)3240年不重复。...如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。...public class test { public static void main(String[] args) { String uuid = UUID.randomUUID().toString

9.5K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    UUID 介绍

    在版本1的UUID中,这部分包含了表示时间的信息。时钟序列和随机数部分(16 bits): UUID中的一部分用于保证在同一时刻生成的UUID的唯一性。...例如,版本4的UUID中这一部分的值是0100。节点部分(48 bits): 在版本1的UUID中,这部分包含生成UUID的计算机的唯一标识。...变体标识和版本号部分: 这两部分标识了UUID的类型和变体。版本号标识了UUID的版本,而变体标识了UUID的变体(通常为标准的DCE UUID)。...节点部分: 在版本1的UUID中,这部分包含生成UUID的计算机的唯一标识。这有助于确保即使在不同的计算机上生成UUID,也不太可能发生冲突。...这使得UUID的可能取值非常大,为2^{128} ,即3.4 \times 10^{38} 。这个巨大的位数保证了在实践中产生重复UUID的概率极小。

    1.5K20

    UUID 简介

    这个版本的 UUID 保证了: 相同命名空间中不同名字生成的 UUID 的唯一性; 不同命名空间中的 UUID 的唯一性; 相同命名空间中相同名字的 UUID 重复生成是相同的。...UUID版本 (Version 4) 随机 UUID 根据随机数,或者伪随机数生成 UUID。 这种UUID产生重复的概率是可以计算出来的。...注意值不变的情况下生成的 UUID 相同 同前 重复率 每个节点每秒钟可生成 1630 亿个,也就是说每毫秒 163 个。...同前 UUID 的选择 从UUID的不同版本可以看出: Version 1/2适合应用于分布式计算环境下,具有高度的唯一性; Version 3/5适合于一定范围内名字唯一,且需要或可能会重复生成UUID...的环境下; Version 4,虽然重复率可计算,但是它是最简单最方便的。

    53010

    java中使用uuid函数_uuid主键

    UUID介绍: UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。...由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡...它们两的优缺点详细可网上进行查阅 java中的类java.Util.UUID (最好就是在java程序中生成UUID然后把数据插入到数据库,为了换数据库的话不用修改生成UUID的代码) jdk1.5增加了类...java.Util.UUID,用于方便生成UUID。...createUUID(){ String uuid=UUID.randomUUID().toString();return uuid.replace(“-“,””); } } 运行: 数据库中UUID

    2.5K30

    mysql java uuid_Java生成UUID 与 MySQL数据库如何生成uuid数据

    在这样的情况下,就不需考虑数据库建立时的名称重复问题。 UUID 来作为数据库数据表主键是非常不错的选择,保证每次生成的UUID 是唯一的。 UUID的唯一缺陷在于生成的结果串会比较长。...a.生成 UUID public static voidmain(String[] args) {for(int i=0;i<10;i++){ String uuid= UUID.randomUUID...* @return String UUID*/ public staticString getUUID(){ String uuid=UUID.randomUUID().toString();//...去掉“-”符号 return uuid.replaceAll(“-“, “”); } 二、MySQL数据库如何批量插入不重复uuid数据 第一步:先把需要查询的数据列出来select UUID(), a.Code...生成UUID /*只能生成一条*/SELECT REPLACE(UUID(),’-‘,”) AS id;/*在数据库中找一张数据多的表执行生成多条*/SELECT (REPLACE(UUID(),’-‘

    4.7K30
    领券