色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java 對象序列化和反序列化

傅智翔2年前8瀏覽0評論

Java 對象序列化的意義:

Java 對象序列化是將 Java 對象轉(zhuǎn)換成字節(jié)流的過程,使得這些字節(jié)可在網(wǎng)絡(luò)上傳輸或被永久地保存在本地文件系統(tǒng)中。

Java 對象序列化的主要作用是將對象在網(wǎng)絡(luò)上傳輸或保存到文件中,使得在不同 JRE 或者不同 JVM 運行的程序之間可以直接傳遞對象,而不需要手動構(gòu)造對象。

public class Student implements Serializable {
private String name;
private int age;
private String gender;
public Student(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
// 省略 setter 和 getter 方法
}

在將一個 Java 對象序列化時,需要實現(xiàn) Serializable 接口。

反序列化的實現(xiàn):

反序列化即將一個字節(jié)流轉(zhuǎn)換成 Java 對象的過程。Java 對象的反序列化必須滿足兩個條件:

1. Java 對象必須實現(xiàn) Serializable 接口;

2. 反序列化時需要通過 ObjectInputStream 對象對序列化的字節(jié)進行解析,將字節(jié)流還原為 Java 對象。

public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream("student.bin");
ObjectInputStream ois = new ObjectInputStream(fis);
Student student = (Student) ois.readObject();
System.out.println(student);
ois.close();
}

反序列化時要注意異常的處理,如將字節(jié)流轉(zhuǎn)化為 Java 對象時可能出現(xiàn) ClassNotFoundException 異常。