1、UUID

  • UUID(Universally Unique Identifier):通用唯一识别码
  • UUID 目的是让分布式系统中的所有元素,都能有唯一的辨识ID
  • UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的
  • 标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12)

2、UUID的组成

  • 当前日期和时间,值第一部分与时间有关(如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同)
  • 时钟序列
  • 全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得
//源码
 public static UUID randomUUID() {
       
        SecureRandom ng = Holder.numberGenerator;
        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);
}

3、UUID.randomUUID()

  • 用法:UUID.randomUUID().toString()
  • 需要去掉其中的横线,可UUID.randomUUID().toString().replace("-", "")
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐