JAVA小白的進擊之路!!!2018.11.05日 關於java序列化的那些事
阿新 • • 發佈:2018-12-19
2018.11.05 序列化:把物件轉換為位元組序列 反序列換:把在位元組序列轉換為物件 用途:1、把物件的位元組序列永久的儲存在硬碟中,通常存放在一個檔案中。 2、在網路上傳送物件的位元組序列 案例:web伺服器中的session物件,當有10萬用戶併發訪問,就可能會出現10萬個session物件,記憶體可能吃不消,於是web 容器就會把一些session先序列化到硬碟中,等要用了,再把儲存在硬碟中的物件還原到記憶體中。 當兩個程序在進行遠端通訊的時候,批次可以傳送各種型別資料,無論是何種型別的資料,都會以二進位制序列的形式在網路上傳送,傳送方需要把這個java物件轉換為位元組序列,才能在網路上傳送;接收方則需要把位元組序列再恢復為java物件。 API java.io.ObjectOutputStream代表物件輸出流,它的writeIbject(Object obj)方法可對引數指定的obj物件進行序列化,把得到的位元組序列寫到一個目標輸出列中。 java.io.ObjectInputStream代表物件輸出流,它的readObject()方法從一個源輸出流中讀取位元組序列,再把他們反序列化為一個物件,並將其返回。 只有實現了Serializable和Externalizable介面的類的物件才能被序列化。 Externalizable介面繼承自Serializable,實現Externalizable介面的類完全由自身來控制序列化的行為,而僅實現Serializable介面的類可以採用預設的序列化方式。
java序列化
物件序列化步驟:
1、建立一個物件輸出流,他可以包裝一個其他型別的目標輸出流,如檔案輸出流;
2、通過物件輸出流的writeObject()方法寫物件。
物件反序列化的步驟:
1、建立一個物件輸出流,他可以包裝一個其他型別的源輸入流,如檔案輸入流;
2、通過物件輸入流的readObject()方法讀取物件
本部落格目前所有文章都只是用來記錄每日的學習進度。