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