关于javabean在coding过程中是否需要序列化找到了一篇描述很清晰的文章,特别mark一下:
https://www.cnblogs.com/9dragon/p/10901448.html
总结部分进行了摘抄:
1、所有需要网络传输的对象都需要实现序列化接口,通过建议所有的javaBean都实现Serializable接口。
2、对象的类名、实例变量(包括基本类型,数组,对其他对象的引用)都会被序列化;方法、类变量、transient实例变量都不会被序列化。
3、如果想让某个变量不被序列化,使用transient修饰。
4、序列化对象的引用类型成员变量,也必须是可序列化的,否则,会报错。
5、反序列化时必须有序列化对象的class文件。
6、当通过文件、网络来读取序列化后的对象时,必须按照实际写入的顺序读取。
7、单例类序列化,需要重写readResolve()方法;否则会破坏单例原则。
8、同一对象序列化多次,只有第一次序列化为二进制流,以后都只是保存序列化编号,不会重复序列化。
9、建议所有可序列化的类加上serialVersionUID 版本号,方便项目升级。