面试真题

Java · 中等 · 阿里巴巴

序列化写入后读出的对象变化(版本不一致问题)

中等 Java 🎤 阿里巴巴
参考答案
结论:序列化写入后若类版本不一致,反序列化可能失败或字段丢失。要点:Java靠serialVersionUID标识版本,读写值不同抛InvalidClassException;兼容变更(增删字段)可保持同serialVersionUID使新字段取默认值或忽略;不兼容变更(改类型/继承)需自定义readObject/writeObject;其他如JSON无严格版本但字段缺失为null,ProtoBuf靠字段编号兼容。原理:序列化保存对象状态与类描述,反序列化需匹配类结构。
题目整理自公开面经,答案由校招宝自研生成,仅供参考