java序列化框架 為什么網(wǎng)絡(luò)傳輸時(shí)對(duì)象要序列化,而字符串就不用序列化?
為什么網(wǎng)絡(luò)傳輸時(shí)對(duì)象要序列化,而字符串就不用序列化?對(duì)象序列化可以實(shí)現(xiàn)分布式對(duì)象。例如,主要應(yīng)用程序RMI使用對(duì)象序列化在遠(yuǎn)程主機(jī)上運(yùn)行服務(wù),就像在本地主機(jī)上運(yùn)行對(duì)象一樣。Rjava對(duì)象序列化不僅保存
為什么網(wǎng)絡(luò)傳輸時(shí)對(duì)象要序列化,而字符串就不用序列化?
對(duì)象序列化可以實(shí)現(xiàn)分布式對(duì)象。例如,主要應(yīng)用程序RMI使用對(duì)象序列化在遠(yuǎn)程主機(jī)上運(yùn)行服務(wù),就像在本地主機(jī)上運(yùn)行對(duì)象一樣。Rjava對(duì)象序列化不僅保存對(duì)象的數(shù)據(jù),而且遞歸地保存對(duì)象引用的每個(gè)對(duì)象的數(shù)據(jù)。整個(gè)對(duì)象層次結(jié)構(gòu)可以寫入字節(jié)流、保存在文件中或通過網(wǎng)絡(luò)連接傳遞。對(duì)象序列化可用于“深度復(fù)制”對(duì)象本身和引用對(duì)象本身。序列化一個(gè)對(duì)象可以產(chǎn)生一個(gè)完整的對(duì)象序列。Rjava序列化相對(duì)簡單,通常不需要編寫自定義代碼來保存和恢復(fù)對(duì)象狀態(tài)。實(shí)現(xiàn)java.io.Serializable可序列化接口的類對(duì)象可以轉(zhuǎn)換為字節(jié)流或從字節(jié)流中恢復(fù),而無需向類中添加任何代碼。只有在極少數(shù)情況下,才需要自定義代碼來保存或恢復(fù)對(duì)象狀態(tài)。注意:不是每個(gè)類都可以序列化。某些類無法序列化。例如,涉及線程的類與特定JVM的關(guān)系非常復(fù)雜。