Concept
Serialization là quá trình convert data của một object thành byte stream và Deserialization ngược lại là quá trình convert byte stream thành object.
Q&A
- Object là gì?
Object trong định nghĩa hiểu theo OOP. Ví dụ:
User { name: "Alice", age: 25 }
- Byte stream là gì?
Là chuỗi bytes, là raw data có thể được lưu trong file, database; dùng để gửi qua network;...
- Tại sao cần serialization/deserialization?
Một object thì sống trong RAM khi process chạy. Muốn lưu object đó thành dữ liệu vĩnh viễn (trong file/database), gửi qua network thì cần convert object đó thành dạng thích hợp (byte stream).
- Perfomance? Quá trình có thể expensive tuỳ thuộc vào độ lớn, phức tạp của object. Khi implement các hệ thống cần perfomance cao, lưu ý điều này.