Java中的序列化与反序列化机制
生活随笔
收集整理的這篇文章主要介紹了
Java中的序列化与反序列化机制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、序列化的定義
- 二、為什么需要序列化呢?
- 三、如何序列化
- 四、案列實現
- 4.1、將對象序列化位二進制流
- 4.2 將序列化后的二進制流反序列化為對象
- 五、總結
一、序列化的定義
💡 所謂的序列化就是將Java 中的對象轉換成一種流的形式(二進制流),可以對轉換后的流進行文件的讀寫以及在網絡中傳輸。反序列化就是將二進制流重新恢復成對象的形式。
二、為什么需要序列化呢?
- 持久化:將對象持久化后可以將其保存到存儲設備中,方便以后再次使用。
- 更好的在網絡中傳輸:如果不進行序列化,對象在網絡中傳輸可能存在亂序或者不可傳輸的問題。
三、如何序列化
🎨 在Java中是如何進行序列化的呢?
首先我們需要對需要序列化的對象實現Serializable接口,再添加一個序列化版本ID號:
通過對象輸出流ObjectOutputStream可以實現對象的序列化,通過對象輸入流ObjectInputStream可以實現對象的反序列化,也就是將二進制流還原成Java對象。
四、案列實現
??接下來,讓我們序列化一個User對象,揭開這層神秘的面紗!
??首先我們定義一個User用戶類:
??然后對象變量,設置如下值:
User user = new User(1001, "admin");4.1、將對象序列化位二進制流
??通過工具打開文件查看內容,可以看到序列化后的內容
4.2 將序列化后的二進制流反序列化為對象
??可以明顯發現,又把那一堆我們看不懂的二進制流變成了我們Java中的對象了。
User{id=1001, name='admin'}五、總結
序列化:將對象轉換為二進制。
反序列化:將對象從二進制恢復為對象。
總結
以上是生活随笔為你收集整理的Java中的序列化与反序列化机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: idea全局搜索快捷鍵ctrl+shif
- 下一篇: 关于vue中使用iconfont