Serialization trong java – học Java miễn phí hay nhất – VietTuts

Tuần tự hoá trong java hay serialization trong java là một cơ chế để ghi trạng thái của một đối tượng vào một byte stream.

Nó chủ yếu được sử dụng trong các công nghệ Hibernate, RMI, JPA, EJB và JMS.

Hoạt động ngược lại của serialization được gọi là deserialization.

Nó chủ yếu được sử dụng để truyền trạng thái của đối tượng qua mạng (được biết đến như marshaling).

Serializable là một giao diện đánh dấu (không có thành viên dữ liệu và phương thức). Nó được sử dụng để “đánh dấu” các lớp java để các đối tượng của các lớp này có thể nhận được khả năng nhất định. Cloneable và Remote cũng là những interface đánh dấu.

Nó phải được implements bởi lớp mà đối tượng của nó bạn muốn persist, bạn có thể xem thêm về đối tượng persistent là gì?

Lớp String và tất cả các lớp wrapper implements giao tiếp java.io.Serializable theo mặc định.

Hãy xem ví dụ dưới đây:

Trong ví dụ trên, lớp Student implements giao tiếp Serializable. Bây giờ các đối tượng của nó có thể được chuyển đổi thành stream.

Tìm hiểu bài học về lớp ObjectOutputStream trong java để hiểu rõ hơn về serialization trong java.

Deserialization là quá trình tái thiết lại các đối tượng từ trạng thái serialized.Đây là hoạt động ngược lại của serialization.

Tìm hiểu bài học về lớp ObjectInputStream trong java để hiểu rõ hơn về serialization trong java.

Nếu một lớp implements giao tiếp Serializable thì tất cả các lớp con của nó cũng sẽ được serializable. Hãy xem ví dụ dưới đây:

public class Student extends Person {
    String course;
    int fee;

    public Student(int id, String name, String course, int fee) {
        super(id, name);
        this.course = course;
        this.fee = fee;
    }
}