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

java序列化作用和實現(xiàn)

呂致盈1年前9瀏覽0評論

Java序列化作用:

Java序列化是將Java對象轉(zhuǎn)換為字節(jié)序列的過程,使其可以在網(wǎng)絡上傳輸或保存到文件中。它的主要作用如下:

1. 對象的持久性:Java 序列化能夠使 Java 對象的數(shù)據(jù)持久化,以便在程序重啟后保留數(shù)據(jù)。

2. 對象的網(wǎng)絡傳輸:Java 序列化可以在網(wǎng)絡中傳輸對象,例如將對象序列化為字節(jié)流,在網(wǎng)絡上傳輸,然后反序列化為對象。

3. 對象的深拷貝:Java 序列化可以使用深拷貝技術將一個對象復制到另一個對象中。

Java序列化實現(xiàn):
Java序列化是完全自動化的,只需要實現(xiàn)Serializable接口即可實現(xiàn)序列化和反序列化。下面是實現(xiàn)方法:
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;
}
//...
}
public class SerializeDemo {
public static void main(String [] args) {
Student s = new Student("Tom", 20, "male");
try {
FileOutputStream fileOut = new FileOutputStream("student.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(s);
out.close();
fileOut.close();
System.out.printf("Serialized data is saved in student.ser");
} catch (IOException i) {
i.printStackTrace();
}
}
}

在上述代碼中,我們實現(xiàn)了一個Student類,并在SerializeDemo類中將Student對象序列化為字節(jié)序列并保存在文件中。我們需要使用對象輸出流 ObjectOutputStream 類來將對象序列化為字節(jié)序列。 然后,將字節(jié)序列寫入磁盤。 相反,如果我們想要從文件中反序列化該對象,只需使用對象輸入流 ObjectInputStream 類即可。

反序列化代碼實現(xiàn):
public class DeserializeDemo {
public static void main(String [] args) {
Student s = null;
try {
FileInputStream fileIn = new FileInputStream("student.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
s = (Student) in.readObject();
in.close();
fileIn.close();
} catch (IOException i) {
i.printStackTrace();
return;
} catch (ClassNotFoundException c) {
System.out.println("Student class not found");
c.printStackTrace();
return;
}
System.out.println("Deserialized Student...");
System.out.println("Name: " + s.name);
System.out.println("Age: " + s.age);
System.out.println("Gender: " + s.gender);
}
}

在上述代碼中,我們使用對象輸入流 ObjectInputStream 類來將反序列化 Student 對象。 在讀取字節(jié)序列之后,將其轉(zhuǎn)換回實際的對象類型將其強制轉(zhuǎn)換為 Student 對象并將其打印出來。