介紹
互聯(lián)網(wǎng)的產生帶來了機器間通訊的需求,而互聯(lián)通行的雙方采用約定的協(xié)議,序列化和反序列化屬于通訊協(xié)議的一部分。通訊協(xié)議往往采用分層模型,不同模型每層定義的功能和顆粒不同。
- 序列化 將數(shù)據(jù)結構或者對象轉換成二進制串的過程
- 反序列化 將在序列化過程所生成的二進制串轉換成數(shù)據(jù)結構或者對象的過程
在不同的計算機語言中,數(shù)據(jù)結構,對象以及二進制串的表示方式并不相同
- 數(shù)據(jù)結構和對象: 對于 Java 這種完全面向對象編程的語言,所操作的一切都是對象 Object,來自于類的實例化
- 二進制串 序列化生成的二進制串指的是存儲在內存中的一塊數(shù)據(jù)。在 Java 中很容易和 String 混淆。實際上對于跨語言通訊,序列化后的數(shù)據(jù)當然不是某種語言的特殊數(shù)據(jù)類型,二進制在 Java 里面指的是 byte[]
參考資料
序列化和反序列化