serialVersionUID的作用
首先 实现Serializable接口的目的是为类可持久化,在网络中进行传输.
SerialVersionUID 适用于java序列化的机制,用这个东西来进行版本一致性的验证.
如果是一致的就能实现序列化,如果不一致就会报异常.
SerialVersionUID有两种显式地生成方式:
一是默认的1L,比如 private static final long serialVersionUID = 1L;
二是根据包名,类名,继承关系,非私有的方法和属性,以及参数返回值等诸多因子计算出的,极度复杂生成一个64位的哈希字段.基本上算出来的值是唯一的.
注意: 显示声明serialVersionUID可以避免对象不一致的问题
而且 序列化保存的是对象的状态,静态变量属于类的状态,所以序列化并不保存静态变量.

浙公网安备 33010602011771号