Serialization là gì?

Serialization đơn giản chỉ là chuyển từ một object tồn tại thành một mảng byte. Mảng byte này đại diện cho class của object, phiên bản của object, và trạng thái của object. Mảng byte này có thể được sử dụng giữa các máy ảo JVM đang chạy cùng code truyền / đọc các object. Ngược lại Deserialization là quá trình xây dựng lại các byte vào một đối tượng. Java Serialization API cung cấp một cơ chế chuẩn cho các nhà phát triển để xử lý đối tượng. Trong bài viết này, bạn sẽ thấy làm thế nào để serialize một đối tượng, và tại sao serialization đôi khi là cần thiết.

Java - Serialization image 1

Tại sao Serialization lại cần thiết?

Trong thế giới ngày nay, một ứng dụng doanh nghiệp điển hình sẽ có nhiều thành phần và sẽ được phân phối trên các hệ thống và mạng khác nhau. Trong Java, mọi thứ được biểu diễn dưới dạng các đối tượng; Nếu hai thành phần Java muốn giao tiếp với nhau, cần phải có một cơ chế để trao đổi dữ liệu. Một cách để đạt được điều này là xác định giao thức của riêng bạn và chuyển một đối tượng. Điều này có nghĩa là đầu nhận phải biết giao thức được sử dụng bởi người gửi để tạo lại đối tượng, điều này làm cho việc nói chuyện với các thành phần của bên thứ ba rất khó khăn. Do đó, cần phải có một giao thức chung chung và hiệu quả để chuyển đối tượng giữa các thành phần. Serialization được định nghĩa cho mục đích này, và các thành phần Java sử dụng giao thức này để chuyển các đối tượng.

Ví dụ về Serialization và Deserialization

  • Để mà serialize một object, bạn cần phải đảm bảo rằng class của object đó implements java.io.Serializable interface. Serializable interface chỉ là một marker interface, bản thân nó chẳng định nghĩa 1 phương thức nào cả

Viết câu trả lời

Drop Images