开发者社区> 问答> 正文

简述Java语言中,如何自定义序列化策略

简述Java语言中,如何自定义序列化策略

展开
收起
huc_逆天 2021-01-11 11:49:36 1650 0
1 条回答
写回答
取消 提交回答
  • 技术架构师 阿里云开发者社区技术专家博主 CSDN签约专栏技术博主 掘金签约技术博主 云安全联盟专家 众多开源代码库Commiter

    在序列化过程中,如果被序列化的类中定义了writeObject 和 readObject 方法, 虚拟机会试图调用对象类里的 writeObject 和 readObject 方法,进行用户自定义的 序列化和反序列化。 如果没有这样的方法,则默认调用是 ObjectOutputStream 的 defaultWriteObject 方法以及 ObjectInputStream 的 defaultReadObject 方法。 用户自定义的 writeObject 和 readObject 方法可以允许用户控制序列化的过程, 比如可以在序列化的过程中动态改变序列化的数值。 所以,对于一些特殊字段需要定义序列化的策略的时候,可以考虑使用transient 修饰, 并自己重写writeObject 和 readObject 方法, 如java.util. ArrayList 中就有这样的实现。

    2021-01-11 11:49:52
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载