Rumah >Java >javaTutorial >Apakah jenis siri java dan penyahserikatan?

Apakah jenis siri java dan penyahserikatan?

WBOY
WBOYasal
2024-04-15 12:39:021097semak imbas

Siri Java menyediakan jenis siri berikut: 1. Siri jenis data asas; 2. Siri objek, yang memerlukan kelas untuk melaksanakan antara muka java.io.Serializable 3. Pengeksternalan dan penyahserilan, yang memerlukan objek untuk melaksanakan java. io .Antara muka boleh di luar. Dalam pertempuran sebenar, maklumat objek boleh terus disimpan dan dibaca.

Apakah jenis siri java dan penyahserikatan?

Jenis-jenis Java Serialisasi

Java serialization ialah satu proses menyimpan keadaan objek kepada storan berterusan atau menghantarnya melalui rangkaian. Java menyediakan jenis siri berikut:

1. Siri jenis data asas

Jenis data asas (seperti int, long, double) boleh disiri secara langsung.

// 基本数据类型序列化
int num = 100;
OutputStream out = new FileOutputStream("num.ser");
ObjectOutputStream oos = new ObjectOutputStream(out);
oos.writeObject(num);
oos.close();

2. Siri objek

Untuk mensiri objek, kelas perlu melaksanakan antara muka java.io.Serializable. java.io.Serializable 接口。

// 对象序列化
class Person implements Serializable {
    private String name;
    private int age;

    // ...
}

Person person = new Person();
OutputStream out = new FileOutputStream("person.ser");
ObjectOutputStream oos = new ObjectOutputStream(out);
oos.writeObject(person);
oos.close();

3. 外部化和反序列化

外部化允许自定义序列化和反序列化的过程。对象需要实现 java.io.Externalizable

// 外部化
public void writeExternal(ObjectOutput out) {
    out.writeObject(name);
    out.writeInt(age);
}

// 反序列化
public void readExternal(ObjectInput in) {
    this.name = (String) in.readObject();
    this.age = in.readInt();
}

3. Pengeksternalan dan penyahserialisasian

Pengeksternalan membolehkan penyesuaian proses pensirilan dan penyahserikan. Objek perlu melaksanakan antara muka java.io.Externalizable.

// 存储用户信息
UserInfo user = new UserInfo();
OutputStream out = new FileOutputStream("user.ser");
ObjectOutputStream oos = new ObjectOutputStream(out);
oos.writeObject(user);
oos.close();

// 读取用户信息
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("user.ser"));
UserInfo user2 = (UserInfo) ois.readObject();
ois.close();
Kes praktikal

🎜🎜🎜Kes: Menyimpan dan membaca maklumat pengguna🎜🎜rrreee

Atas ialah kandungan terperinci Apakah jenis siri java dan penyahserikatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn