Java 序列化(Serialization) 是指:把 Java 对象转换成字节流(二进制数据)的过程,以便:
相对的,反序列化(Deserialization) 是指:
把字节流恢复成原来的 Java 对象。
Java 对象本身只存在于内存中,序列化可以:
Serializable 接口import java.io.Serializable;
public class User implements Serializable {
private String name;
private int age;
// 构造方法、getter、setter
}
✅ Serializable 是一个标记接口(没有方法)
ObjectOutputStream oos =
new ObjectOutputStream(new FileOutputStream("user.dat"));
oos.writeObject(user);
oos.close();
ObjectInputStream ois =
new ObjectInputStream(new FileInputStream("user.dat"));
User user = (User) ois.readObject();
ois.close();
private static final long serialVersionUID = 1L;
作用:
✅ 建议每个序列化类都显式定义
static 变量(属于类,不属于对象)transient 修饰的字段private transient String password; // 不序列化
⚠️ Java 原生序列化问题:
✅ 实际项目常用:
Java 序列化就是:把“内存中的对象”变成“可以存储或传输的字节流”,再还原回来。
如果你愿意,我也可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。