溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中實現Serializable序列化接口

發布時間:2020-06-21 19:29:41 來源:億速云 閱讀:192 作者:鴿子 欄目:編程語言

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

一、問題引入

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

java中實現Serializable序列化接口

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

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

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

java中實現Serializable序列化接口

二、加深理解

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

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

java中實現Serializable序列化接口

以上就是java中為什么要實現Serializable序列化接口的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女