今天爱分享给大家带来什么是 Java 序列化,如何实现 java 序列化?或者请解释 Serializable 接口的作用?【面试题详解】,希望能够帮助到大家。
【参考答案】
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可
以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决
在对对象流进行读写操作时所引发的问题。
序列化的实现:将需要被序列化的类实现 Serializable 接口,该接口没有需要实现的
方法,implements Serializable 只是为了标注该对象是可被序列化的,然后使用一个输出
流 ( 如 : FileOutputStream) 来 构 造 一 个 ObjectOutputStream( 对 象 流 ) 对 象 , 使 用
ObjectOutputStream 对象的 writeObject(Object obj)方法就可以将参数为 obj 的对象写出, 那么在另一端,通过 ObjectInputStream 对象的 readObject(Object obj)获取到字节流数
据后,要将字节流转换成原对象,这叫反序列化,以便将数据存储在文件中或在网络传输。
Serializable 接口描述启用其序列化功能,未实现此接口的类将无法使其任何状态序列
化或反序列化。Serializable 接口没有方法或字段,仅用于标识可序列化的语义,标识实现
了该接口的对象属性可被序列化。