java序列化反序列化的过程是什么?
java 序列化和反序列化涉及以下步骤:将实现了 serializable 接口的类写入流中(序列化)。将对象从流中读取(反序列化)。

Java 序列化和反序列化的过程
序列化
- 编写一个实现了
Serializable接口的类。 - 创建一个
ObjectOutputStream对象,并将其与一个文件或字节流关联。 - 使用
ObjectOutputStream.writeObject()方法将对象写入流中。
示例代码:
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
public class Employee implements Serializable {
private String name;
private int age;
// 省略getter和setter方法
public static void main(String[] args) {
Employee employee = new Employee("John", 30);
try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("employee.txt"))) {
out.writeObject(employee);
} catch (Exception e) {
e.printStackTrace();
}
}
}
反序列化
- 创建一个
ObjectInputStream对象,并将其与一个文件或字节流关联。 - 使用
ObjectInputStream.readObject()方法读取对象。
示例代码:
import java.io.FileInputStream;
import java.io.ObjectInputStream;
public class DeserializeEmployee {
public static void main(String[] args) {
try (ObjectInputStream in = new ObjectInputStream(new FileInputStream("employee.txt"))) {
Employee employee = (Employee) in.readObject();
System.out.println(employee.getName() + ", " + employee.getAge());
} catch (Exception e) {
e.printStackTrace();
}
}
}
注意事项:
- 只有实现了
Serializable接口的类才能进行序列化。 - 序列化和反序列化的顺序必须一致。
- 类的结构在序列化和反序列化之间不能改变。
- 序列化对象可能会很慢,尤其是对于大型对象。
以上就是java序列化反序列化的过程是什么?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!