javaBean为什么要implements Serializable
一個對象序列化的接口,一個類只有實(shí)現(xiàn)了Serializable接口,它的對象才是可序列化的。因此如果要序列化某些類的對象,這些類就必須實(shí)現(xiàn)Serializable接口。而實(shí)際上,Serializable是一個空接口,沒有什么具體內(nèi)容,它的目的只是簡單的標(biāo)識一個類的對象可以被序列化。
?
? ? ? ? 什么情況下需要序列化:
? ? ? ? 1.?????當(dāng)你想把的內(nèi)存中的對象寫入到硬盤的時候。
? ? ? ? 2.?????當(dāng)你想用套接字在網(wǎng)絡(luò)上傳送對象的時候。
? ? ? ? 3.?????當(dāng)你想通過RMI傳輸對象的時候。
?再稍微解釋一下:
? ? ? ? 1.??? 比如說你的內(nèi)存不夠用了,那計算機(jī)就要將內(nèi)存里面的一部分對象暫時的保存到硬盤中,等到要用的時候再讀入到內(nèi)存中,硬盤的那部分存儲空間就是所謂的虛擬內(nèi)存。在比如過你要將某個特定的對象保存到文件中,我隔幾天在把它拿出來用,那么這時候就要實(shí)現(xiàn)Serializable接口。
?
? ? ? ? 2.??? 在進(jìn)行Java的Socket編程的時候,你有時候可能要傳輸某一類的對象,那么也就要實(shí)現(xiàn)Serializable接口。最常見的你傳輸一個字符串,它是JDK里面的類,也實(shí)現(xiàn)了Serializable接口,這樣做為的是將數(shù)據(jù)變?yōu)槎M(jìn)制來傳輸,所以可以在網(wǎng)絡(luò)上傳輸。
?
? ? ? ? 3.??? 如果要通過遠(yuǎn)程的方法調(diào)用(RMI)去調(diào)用一個遠(yuǎn)程對象的方法,如在計算機(jī)A中調(diào)用另一臺計算機(jī)B的對象的方法,那么你需要通過JNDI服務(wù)獲取計算機(jī)B目標(biāo)對象的引用,將對象從B傳送到A,就需要實(shí)現(xiàn)序列化接口。
轉(zhuǎn)載于:https://www.cnblogs.com/xuehu666/p/10220192.html
總結(jié)
以上是生活随笔為你收集整理的javaBean为什么要implements Serializable的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在centos安装redis
- 下一篇: Go语言学习笔记(十八)之文件读写