`
小网客
  • 浏览: 1248419 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA如何产生uuid

    博客分类:
  • Java
阅读更多

直接通过java.util.randomUUID() 产生,源码如下:

  public static UUID randomUUID() {
        SecureRandom ng = numberGenerator;
        if (ng == null) {
            numberGenerator = ng = new SecureRandom();
        }

        byte[] randomBytes = new byte[16];
        ng.nextBytes(randomBytes);
        randomBytes[6]  &= 0x0f;  /* clear version        */
        randomBytes[6]  |= 0x40;  /* set to version 4     */
        randomBytes[8]  &= 0x3f;  /* clear variant        */
        randomBytes[8]  |= 0x80;  /* set to IETF variant  */
        return new UUID(randomBytes);
    }

 注意

 1.numberGenerator = ng = new SecureRandom();
 2.private static volatile SecureRandom numberGenerator = null;

 1.是连续赋值,引用相同

 2.volatile 标识某变量在内存中仅存在一份不存在copy,如果变量比较简单那么可以认为是线程同步的另外一种机制

 

0
0
分享到:
评论

相关推荐

    JAVA UUID 生成全球唯一ID

    GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复

    java生成UUID通用唯一识别码.docx

    - **全局唯一性**:即使在不同时间和空间下产生的UUID也能保证唯一。 - **时间排序性**:某些类型的UUID可以根据时间顺序排序。 - **跨平台性**:UUID标准在多种操作系统和编程语言中得到支持,包括Windows、Linux、...

    java生成UUID通用唯一识别码 中文WORD版

    - 临时ID:在需要临时唯一标识的场景下,UUID是一个好选择,因为它不会与其他系统产生的ID冲突。 - 对象标识:在面向对象编程中,UUID可以用来生成对象的唯一标识。 4. **UUID与性能** 虽然UUID的生成需要计算,...

    PB生成UUID.zip

    而在Java中,可以使用`java.util.UUID`类的静态方法`randomUUID()`。 使用PB生成UUID的步骤大致如下: 1. 引入PB库:首先,需要在项目中引入相应的PB库,这可能通过添加依赖或import语句完成。 2. 定义数据结构:在...

    uuid-jar包

    为你提供一个可以产生一个不重复的UUID工具

    java uuid

    java uuid 产生全球唯一序号,不重复 可以用作数据库的发号器 mojianpo 转载

    fast-uuid:一个Java库,可快速有效地解析和编写UUID

    与Java 8和更早版本相比,它产生了最显着的性能提升。 在基准测试中,解析UUID的速度比编写JU实现快14倍,编写UUID的速度快6倍。 与Java 9和更高版本相比,它在解析UUID时快大约六倍,并且在编写UUID方面没有任何...

    Java实现产生随机字符串主键的UUID工具类

    Java实现产生随机字符串主键的UUID工具类 Java实现产生随机字符串主键的UUID工具类是指使用Java语言来生成唯一的标识符,用于表示资源、记录或对象的身份。 UUID( Universally Unique Identifier,通用唯一标识符...

    自动生成主键uuid.zip

    在Java编程中,UUID(Universally Unique Identifier)是一种标准的128位的全局唯一标识符,用于生成不可预测、全局唯一的ID。UUID通常由32个16进制数字组成,中间用短横线分隔,形如“8-4-4-4-12”的格式。然而,在...

    创建基于时间的 UUID

    为了验证同一时间点内生成UUID可能产生的冲突问题,可以编写一个多线程程序来模拟并测试冲突情况。下面是一个示例程序结构: ```java int threadCount = 128; int iterationCount = 100_000; ConcurrentHashMap...

    java产生序列号源码

    4. **UUID**:另一种生成唯一序列号的方法是使用`java.util.UUID`类,它可以生成全局唯一的128位标识符,通常以32个字符的16进制表示。 5. **自定义逻辑**:除了上述方法,开发者也可能根据业务需求自定义序列号...

    UUID-generate-.zip_doc_uuid

    例如,你可能会看到如何使用编程语言(如Java、Python或C++)来实现UUID的生成,或者关于如何选择合适的UUID版本以满足特定需求的讨论。 UUID在数据库设计、分布式系统、网络通信等多个领域都有广泛的应用。比如,...

    uuid test(blank.txt)

    而在Java中,则可以通过`java.util.UUID`类来实现。 ### 总结 UUID作为一种强大的唯一标识符生成机制,在现代IT系统中扮演着至关重要的角色。通过理解其背后的原理和应用场景,我们可以更好地利用这项技术来解决...

    mongojack-uuid-example:mongo-java-driver vs mongojack 的 UUID 行为

    本篇文章将深入探讨 `mongo-java-driver` 和 `mongojack` 在处理 UUID 类型数据时的不同行为,并分析这些差异对实际开发可能产生的影响。 首先,`mongo-java-driver` 是 MongoDB 官方提供的 Java 驱动,它提供了...

    java自动生成id策略

    在上述代码中,`generateId`方法是线程安全的,因为使用了`synchronized`关键字,防止多线程并发访问时产生的数据不一致问题。`ThreadLocalRandom`被用来在每个线程内部生成随机数,它比`Random`更快且更适合多线程...

    Java,web框架问题集合

    Hibernate是Java领域流行的ORM框架,了解其UUID生成策略有助于在实体对象的唯一标识符管理中做出合适的选择,保证数据的一致性和完整性。 ### 脚本调试工具 JavaScript脚本调试工具对于前端开发人员来说是不可或缺...

    详解java实现简单扫码登录功能(模仿微信网页版扫码)

    在服务端,使用 Java 代码生成二维码,该过程可以使用 Java 的 UUID 机制来生成唯一的 uuid。 使用 Log4jUtil 记录日志 在服务端,使用 Log4jUtil 记录日志,该工具可以记录服务端的日志信息。 Java 实现简单扫码...

    java中设置登录名的唯一性

    8. 分布式唯一ID生成器:在大型系统中,可能需要使用分布式ID生成器(如Snowflake算法或UUID)来生成全局唯一的用户ID,这样即使登录名相同,也可以通过ID区分不同的用户。 9. 缓存策略:为了提高性能,可以将已...

    冠字号码解析及生成java源码

    流水号则需要确保全局唯一性,可以使用`java.util.Random`或`java.util.UUID`类生成随机数字或唯一标识符。将这两部分组合起来,就形成了完整的冠字号码。 在编写Java源码时,应考虑以下几点: 1. 异常处理:文件I...

    java基础知识总结

    42. 常用类:包括String、StringBuffer、StringBuilder、Math、Random、UUID、Date、Calendar、System等。 43. 异常处理:Java通过异常处理机制来响应错误,确保程序的健壮性。 44. 集合框架:提供了一系列接口和...

Global site tag (gtag.js) - Google Analytics