java序列化是什么?怎样进行Java序列化?还是解释Serializable接口的作用?有时,我们将java对象作为字节流传递或从字节流返回到java对象,比如,要在硬盘或网络中存储java对象,或将java对象传送,这一过程我们可以自己编写代码,以将java对象转换成特定格式的字节流。
然而,JRE本身也提供了这种支持,如果要让java帮助我们完成,可以调用OutputStream的writeObject方法,传输对象必须实现serializable接口,以便在javac编译时执行特殊处理,一个已编译过的类可以由writeObject方法操作,称为序列化。
要求序列化的类必须实现Serializable接口,它是一个mini接口,它不需要实现任何方法,implementsSerializable只为将对象标注为可序列化。
举例来说,在web开发中,如果对象保存在Session中,tomcat将Session对象序列化到硬盘上,那么tomcat必须实现Serializable接口。若要在分布式系统中传输对象,或通过rmi等远程方式对对象进行远程调用,则所传送的对象必须实现Serializable接口。