<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 72, comments - 66, trackbacks - 0, articles - 0
    當一個類實現了序列化接口,有時會遇到 java.io.InvalidClassException 異常出現:
    java.io.InvalidClassException: com.test.Test; local class incompatible: stream classdesc serialVersionUID = 7981560250804078637, local class serialVersionUID = -8334405535174160822
    這是序列化兼容性所致;
    java通過一個名為UID(stream unique identifier)來控制,這個UID是隱式的,它通過類名,方法名等諸多因素經過計算而得,理論上是一一映射的關系,也就是唯一的。如果UID不一 樣的話,就無法實現反序列化了,并且將會得到InvalidClassException。
    當要人為的產生一個新的版本(實現并沒有改動),而拋棄以前的版本的話,可以通過顯式的聲名UID來實現:
    private static final long serialVersionUID=????;//(你可以編造一個UID,但不能有重復)

    對于上例我們可以在com.test.Test類中加入 :
    private static final long serialVersionUID=7981560250804078637l;
    這樣就解決了新老版本的兼容性問題。
    當然,對于序列化還有很多問題,慢慢研究吧。

    Feedback

    # re: 有關序列化的問題 java.io.InvalidClassException  回復  更多評論   

    2009-01-13 12:35 by 隔葉黃鶯
    如果你能掌控類之間的差異,就讓

    private static final long serialVersionUID=-1

    就行的,省得讓 Java 自己生成,或者用命令 serialver.exe 來生成 serialVersionUID

    # re: 有關序列化的問題 java.io.InvalidClassException  回復  更多評論   

    2012-03-18 19:48 by kikyo
    萬分感謝!!!!!!!!!

    # re: 有關序列化的問題 java.io.InvalidClassException  回復  更多評論   

    2015-10-15 17:48 by caoyang
    NB
    主站蜘蛛池模板: 一级午夜免费视频| 亚洲精品宾馆在线精品酒店| 日韩大片在线永久免费观看网站| 午夜无遮挡羞羞漫画免费| 亚洲a视频在线观看| 99久久这里只精品国产免费| 亚洲冬月枫中文字幕在线看| 桃子视频在线观看高清免费完整| 亚洲最大视频网站| 日韩视频在线精品视频免费观看| 亚洲一区在线免费观看| 成年性生交大片免费看| 久久精品国产亚洲AV电影网| 国产伦精品一区二区三区免费下载| 校园亚洲春色另类小说合集| 久久夜色精品国产亚洲av| 国产成年无码久久久免费| 亚洲色图在线观看| 一二三四在线播放免费观看中文版视频 | 国产成人亚洲综合| 中文字幕在线观看免费| 久久亚洲一区二区| 毛片A级毛片免费播放| 精品国产亚洲AV麻豆| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久久久久亚洲精品影院| 日本免费人成黄页在线观看视频 | 伊人久久亚洲综合影院| 91视频免费观看| 亚洲第一页在线观看| 在线免费观看中文字幕| 免费毛片毛片网址| 亚洲欧洲日韩不卡| 免费鲁丝片一级观看| 中文字幕a∨在线乱码免费看 | 亚洲男人天堂影院| 全部免费毛片在线| 91香蕉国产线在线观看免费| 亚洲AV成人精品日韩一区 | 亚洲成人高清在线观看| 一区国严二区亚洲三区|