开发者社区> 问答> 正文

为什么 serialVersionUID 改变的时候会抛异常

为什么 serialVersionUID 改变的时候会抛异常

展开
收起
一人吃饱,全家不饿 2020-12-27 23:20:24 1021 0
1 条回答
写回答
取消 提交回答
  • serialVersionUID 改变会导致无法反序列化以前的对象,在 ObjectStreamClass.initNonProxy 中存在校验

    if (model.serializable == osc.serializable &&
                        !cl.isArray() &&
                        suid != osc.getSerialVersionUID()) {
                    throw new InvalidClassException(osc.name,
                            "local class incompatible: " +
                                    "stream classdesc serialVersionUID = " + suid +
                                    ", local class serialVersionUID = " +
                                    osc.getSerialVersionUID());
                }
    
    
    2020-12-27 23:21:08
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载