什么是序列化和反序列化 什么是串行化和並行化
當兩個進程在進行遠程通信時,彼此可以發送各種類型的數據。無論是何種類型的數據,都會以二進制序列的形式在網絡上傳送。發送方需要把這個對象轉換為字節序列,才能在網絡上傳送;接收方則需要把字節序列再恢復為對象。
把對象轉換為字節序列的過程稱為對象的序列化。
把字節序列恢復為對象的過程稱為對象的反序列化。
序列化就是一種用來處理對象流的機制,所謂對象流也就是將對象的內容進行流化。可以對流化后的對象進行讀寫操作,也可將流化后的對象傳輸於網絡之間。序列化是為了解決在對對象流進行讀寫操作時所引發的問題。
序列化的實現:將需要被序列化的類實現Serializable接口,該接口沒有需要實現的方法,implements Serializable只是為了標注該對象是可被序列化的,然后使用一個輸出流(如:FileOutputStream)來構造一個ObjectOutputStream(對象流)對象,接着,使用ObjectOutputStream對象的writeObject(Object obj)方法就可以將參數為obj的對象寫出(即保存其狀態),要恢復的話則用輸入流。
對象的序列化主要有兩種用途:
1)把對象的字節序列永久地保存到硬盤上,通常存放在一個文件中;
2)在網絡上傳送對象的字節序列。
串行化和並行化
串行化也叫做序列化,就是把存在於內存的對象數據轉化成可以保存成硬盤文件的形式去存儲;
並行化也叫反序列化,就是把序列化后的硬盤文件加載到內存,重新變成對象數據.
也就是把內存中對象數據變成硬盤文件.