Java序列化
1 什么是序列化
简单来说,
序列化是将java对象变成一个二进制内容保存,本质就是一个byte[] 数组。
反序列化就是将这个二进制内容变成java对象。
作用:
在传递和保存对象的时候,保证对象的完整性和可传递性。对象转化成二进制文件,更有利于在网络当中传输。
2 Serializable
在java中,通过实现这个接口来实现该类的序列化。这个接口比较特殊。没有任何的方法和属性。
只起标识作用。
3 transient
transient : 短暂的。
被java transient 关键字修饰的属性,将不会被序列化。
也就是说:
class user implements serializable {private String name;private Integer age;private transient String card;}在序列化的时候不会序列化card属性。
同样,静态变量也不会被序列化。
两者结合,你只需要实现serializable 接口,将不需要序列化的数据使用transient 修饰就行了。序列化对象的时候,就不会序列化这些属性了。如:密码,卡号。等关键数据。
