序列化是什么?有什么用?
序列化是什么?有什么用?
苏泽序列化是什么?反序列化?
序列化:将对象转换为字节的序列的过程叫做对象的反序列化。
反序列化:把字节序列恢复为对象的过程称为对象的反序列化。
transient 字段不会参与序列化
static 字段也不会参与序列化 只会读取静态资源
其中需要序列化的类需要实现Serializable接口
serialVersionUID是什么?有什么用?
serialVersionUID是Java序列化机制中用来标识类版本的一个唯一标识符。它是Serializable接口的一部分,用于在序列化和反序列化过程中验证类的一致性。
serialVersionUID是一个静态的、最终的long类型字段
1 | public class User implements Serializable { |
关于***@Serial写不写的可选性,用来表明是序列化的,主要目的是提高代码的可读性和确保方法签名的正确,在使用序列化操作时,推荐加上@Serial***。
回到正题
serialVersionUID是来标识版本号的,在序列化的时候加上是一个静态的最终的long类型,推荐手动导入,如果不导入,Java编译器会根据类的结构自动生成一个UID来对应,但是编译器在不同的编译器版本中或环境中不一致,所以推荐手动加入。
1 | private static final long seriaVersionUID = 182938012841L; |
总结
了解序列化,反序列化,以及transient以及static的相关事项,以及seriaVersionUID的用法,强烈推荐手动加入。
评论
匿名评论隐私政策



