您好,登錄后才能下訂單哦!
1、序列化是干什么的?
內(nèi)存中的各種對象的狀態(tài)(也就是實例變量,不是方法),并且可以把保存的對象狀態(tài)再讀出來。
2、什么情況下序列化
a、對象需要持久化 (硬盤or數(shù)據(jù)庫)
??? b、網(wǎng)絡傳輸 (套接字orRMI)
c、在進程間傳遞對象
3、序列化ID的作用
java的序列化機制是通過在運行時判斷類的serialVersionUID來驗證版本一致性的。反序列化時,JVM會把傳來的字節(jié)流中的serialVersionUID與本地實體類中的serialVersionUID進行比較,如果相同則認為是一致的,便可以進行反序列化,否則就會報序列化版本不一致的異常。
4、序列化機制
a、保存到磁盤的所有對象都獲得一個序列號(1, 2, 3等等)
b、當要反序列化保存一個對象時,先檢查該對象是否被保存了。
c、如果以前保存過,只需寫入"與已經(jīng)保存的類具有相同序列號的對象"的一樣的標記就可,否則,保存該對象。
5、序列化方式
a、Serializable
b、Externalizable (類似android Parcelable)
5、其它
a、支持序列化和反序列化的基本類型有:String,Array,Enum和Serializable。類中的靜態(tài)變量不會序列化
b、transient來修飾不想要序列化的變量
c、 反序列化 ->ObjectOutPutStream(FileOutPutStream)
參照:https://blog.csdn.net/qq_16628781/article/details/70049623
https://www.cnblogs.com/csguo/p/7571741.html
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。