UUID是啥,UID又是个啥?

UID(Serial Version UID)和UUID(Universally Unique Identifier)是两种不同的概念,分别在Java序列化和通用唯一标识符领域中使用。以下是它们的详细介绍:

1. Serial Version UID (UID)

  • 定义:在Java中,serialVersionUID是一个静态常量,用于表示一个类的版本信息,以便在序列化和反序列化过程中进行版本控制。

  • 用途

    • 确保序列化对象的兼容性。如果一个类在序列化后被修改,其serialVersionUID也应该相应地更改,以避免反序列化时发生InvalidClassException异常。
    • 在未显式定义的情况下,Java会根据类的特征自动生成serialVersionUID,但这可能导致不同机器上的不一致性,因此推荐手动定义。
  • 示例

2. Universally Unique Identifier (UUID)

  • 定义:UUID是一种用于在计算机系统中唯一标识信息的标准格式。UUID是128位长的数字,通常以32个十六进制字符的形式表示,分为五个部分,格式为8-4-4-4-12(例如:550e8400-e29b-41d4-a716-446655440000)。

  • 用途

    • 用于生成唯一标识符,例如数据库主键、会话ID、文件名等,以避免冲突。
    • 因其生成的概率极小,可以认为UUID是全局唯一的。
  • 生成:可以通过Java的java.util.UUID类轻松生成UUID。例如:

总结

  • Serial Version UID (UID) 是用于Java对象序列化的版本控制标识符,确保在序列化和反序列化过程中保持兼容性。
  • Universally Unique Identifier (UUID) 是一种广泛使用的唯一标识符,用于标识信息以避免冲突,可以在分布式系统中生成唯一值。

这两个概念在功能和用途上是完全不同的,分别用于不同的场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值