lqxue

          常用鏈接

          統計

          book

          tools

          最新評論

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

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

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

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



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

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

          主站蜘蛛池模板: 唐山市| 皋兰县| 邳州市| 常熟市| 珠海市| 中西区| 广宗县| 无为县| 甘谷县| 合作市| 苏尼特右旗| 邯郸市| 海晏县| 秦安县| 琼海市| 游戏| 伊通| 岳池县| 龙泉市| 房产| 彝良县| 保靖县| 东平县| 辉南县| 太仆寺旗| 城市| 奉节县| 句容市| 永川市| 克什克腾旗| 香河县| 黄冈市| 周至县| 左云县| 贡嘎县| 东乡| 赤峰市| 依兰县| 桐乡市| 揭西县| 海口市|