关于序列化,存在几个风险,包括不兼容的更改。如果在被序列化的类中发生不兼容的更改,则即使具有静态final long serialVersionUID字段,我们也无法对其进行反序列化。
那么,序列化的替代方案是什么?XML?如果有任何替代方案,那么在现实世界的项目中是否有任何序列化的用途呢?
关于序列化,存在几个风险,包括不兼容的更改。如果在被序列化的类中发生不兼容的更改,则即使具有静态final long serialVersionUID字段,我们也无法对其进行反序列化。
那么,序列化的替代方案是什么?XML?如果有任何替代方案,那么在现实世界的项目中是否有任何序列化的用途呢?
当然,Java序列化有替代品:XML(如您所述),JSON,protobuf,还有其他任何您想使用的。
所有这些方法都存在一定的不兼容风险。我认为没有其他方法中的魔法。如果您向对象添加新属性,则必须处理“鸭子类型”。如果删除了一个必需的属性,则所有方法都会出现问题。