怎么进行序列化与反序列化
Java中通过继承Serializable接口来获得序列化与反序列化的能力,使用ObjectInputStream和ObjectOutputStream来进行具体的对象序列化读写...而这四种中,前面三种都是内定的,只有最后一种是留给程序员的序列化通道,因此我们想要序列化某一个类,必须实现Serializable接口.
序列化ID是干什么用的?...不是的,他必须在自己的服务中有同样的类路径,同样的类定义,同时,他的类中定义的序列化ID必须与你的一致才可以.算是一定程度上的安全性保证吧.
当然,日常开发中我们使用默认生成的1L即可....我序列化一个ArrayList,你不给我存储内部的值?我要你个空壳子干啥!我摔!
稳住,我们可以实际测试一下,会发现在序列化及反序列化的过程中,是保留了list中的值的....第二个问题
在序列化的过程中,虚拟机会试图调用被序列化类的writeObject和readObject方法,调用不到才会去执行默认的这两个方法,也就是对应的输入输出流中的方法.