站長資訊網
        最全最豐富的資訊網站

        java中為什么要實現Serializable序列化接口

        java中為什么要實現Serializable序列化接口

        我們在學習JavaSE的時候學習過ObjectInputStreamObjectOutputStream,當時是覺得只要一個對象要寫入文件就必須要實現Serializable接口。其實這樣理解完全沒有問題。

        一、問題引入

        Java中為什么要實現序列化接口呢?我們來看下圖:

        java中為什么要實現Serializable序列化接口

        Java程序中要往磁盤中寫入一個數據,這個數據如果是一個普通字符串,那么沒有問題,所有機器都能正常識別字符串,即使需要轉成對應的字節,計算機也知道怎么將字符串轉成對應的字節(碼表),但是如果是一個Java對象那就麻煩了,磁盤并不知道你傳遞的是一個Java對象,換句話說,磁盤不知道按照什么格式把Java對象轉換成對應的字節。

        相關視頻教程分享:java學習

        我們知道Java對象本質上是一個class字節碼,磁盤并不知道怎么將這個字節碼寫入到磁盤中,按何種方式去寫,所以需要"標識"一下,告訴磁盤:“我是個Java對象,你要按這種方式寫入到磁盤中”,只不過"按這種方式寫入到磁盤"。因此實現Serializable接口只是標識一下"我是個Java對象"

        如果你懂了上述文字的理解,也就不難懂下述圖了:

        java中為什么要實現Serializable序列化接口

        二、加深理解

        Java 提供了一種對象序列化的機制。用一個字節序列可以表示一個對象,該字節序列包含該對象的數據、對象的類型和對象中存儲的屬性等信息。字節序列寫出到文件之后,相當于文件中持久保存了一個對象的信息。

        反之,該字節序列還可以從文件中讀取回來,重構對象,對它進行反序列化。對象的數據、對象的類型和對象中存儲的數據信息,都可以用來在內存中創建對象??磮D理解序列化:

        java中為什么要實現Serializable序列化接口

        相關文章教程推薦:java入門程序

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 91精品国产自产在线观看| 精品无码国产污污污免费网站国产 | 日韩麻豆国产精品欧美| 亚洲爆乳精品无码一区二区三区| 国产人成精品综合欧美成人| 9久久9久久精品| 精品久久久久香蕉网| 永久无码精品三区在线4| 久久久久久久久久久免费精品| 99久久99久久精品国产片果冻 | 爽爽精品dvd蜜桃成熟时电影院| 欧美日韩国产精品| 精品无码综合一区| 国产精品一级AV在线播放| 99久久精品免费| 精品少妇一区二区三区视频| 国产精品亚洲а∨无码播放| 日韩精品无码久久久久久| 亚洲一区二区三区国产精品| 日韩精品无码人妻一区二区三区| 国产三级精品三级在线观看专1| 在线精品视频播放| 尤物国产在线精品福利一区| 精品视频在线v| 国产亚洲精品xxx| 国产精品久久久久久久久鸭 | 国产午夜精品久久久久免费视| 亚洲AV永久无码精品网站在线观看| 亚洲午夜精品久久久久久app| 久久久无码精品亚洲日韩软件| 精品无码人妻一区二区三区不卡| 国内精品视频九九九九| 久久国产午夜精品一区二区三区| 精品97国产免费人成视频| 国产在线精品观看免费观看| 国内精品欧美久久精品| 男女男精品视频网站在线观看| 完整观看高清秒播国内外精品资源| 欧美精品免费专区在线观看| 日本精品一区二区三区在线视频| 亚洲精品老司机在线观看|