lqxue

          常用鏈接

          統(tǒng)計

          book

          tools

          最新評論

          技術(shù)補習之序列化ID(serialVersionUID)

          簡單來說,Java的序列化機制是通過在運行時判斷類的serialVersionUID來驗證版本一致性的。在進行反序列化時,JVM會把傳來的字節(jié)流中的serialVersionUID與本地相應(yīng)實體(類)的serialVersionUID進行比較,如果相同就認為是一致的,可以進行反序列化,否則就會出現(xiàn)序列化版本不一致的異常。

          當實現(xiàn)java.io.Serializable接口的實體(類)沒有顯式地定義一個名為serialVersionUID,類型為long的變量時,Java序列化機制會根據(jù)編譯的class自動生成一個serialVersionUID作序列化版本比較用,這種情況下,只有同一次編譯生成的class才會生成相同的serialVersionUID

          如果我們不希望通過編譯來強制劃分軟件版本,即實現(xiàn)序列化接口的實體能夠兼容先前版本,未作更改的類,就需要顯式地定義一個名為serialVersionUID,類型為long的變量,不修改這個變量值的序列化實體都可以相互進行串行化和反串行化。



          源自:http://sharajava.javaeye.com/blog/102886

          posted on 2007-11-14 13:58 lqx 閱讀(504) 評論(0)  編輯  收藏 所屬分類: java

          主站蜘蛛池模板: 乌鲁木齐县| 天全县| 闻喜县| 清原| 仙居县| 贡嘎县| 邯郸县| 龙江县| 通州市| 阿拉善右旗| 重庆市| 福泉市| 鹤峰县| 宁津县| 临城县| 昆明市| 肇东市| 高碑店市| 湘西| 遂溪县| 西和县| 罗平县| 容城县| 揭阳市| 大理市| 扶余县| 连平县| 理塘县| 子长县| 类乌齐县| 台北县| 克东县| 丽水市| 新沂市| 漳州市| 邢台县| 武功县| 永兴县| 建始县| 汝阳县| 绥中县|