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