什么是java的序列化和反序列化,什么是java序列化,什么情况下需要序列化
java的序列化是将Java对象转换成字节流的过程。当Java对象需要在网络上传输 或者 持久化存储到文件中时,就需要对 Java 对象进行序列化处理。
写爬虫互联网协议(互联网协议)被封了怎么解决?立即使用
序列化的实现:类实现可序列化接口,这个接口没有需要实现的方法。实现可序列化接口是为了告诉虚拟机(Java虚拟机的缩写)这个类的对象可以被序列化。 (推荐学习:java课程)
注意事项:
某个类可以被序列化,则其子类也可以被序列化
声明为静电和短暂的的成员变量,不能被序列化静态的。成员变量是描述类级别的属性,瞬态表示临时数据
反序列化读取序列化对象的顺序要保持一致
具体使用
包constxiong.interview
导入Java。io。文件输入流;
导入Java。io。文件输出流;
导入Java。io。io异常;
导入Java。io。objectinputstream
导入Java。io。对象输出流;
导入Java。io。可序列化;
/**
* 测试序列化,反序列化
* @作者康斯特雄
* @日期2019-06-17 09:31:22
*/
公共类TestSerializable实现可序列化{
private static final long serial版本uid=5887391604554532906 l;
私有int id
私有字符串名称;
public TestSerializable(int id,String name) {
this.id=id
this.name=name
}
@覆盖
公共字符串toString() {
返回" TestSerializable [id= id ,name= name ]";
}
@SuppressWarnings(resource )
公共静态void main(String[] args)引发IOException,ClassNotFoundException {
//序列化
对象输出流OOS=新对象输出流(新文件输出流(测试可序列化。obj’);
oos.writeObject(测试序列化);
OOS。writeobject(618);
test serializable test=new test serializable(1, const Xiong );
oos.writeObject(测试);
//反序列化
ObjectInputStream ois=new ObjectInputStream(new file inputstream( test serializable。obj’);
系统。出去。println((字符串)ois。read object());
系统。出去。println((整数)ois。read object());
系统。出去。println((TestSerializable)ois。read object());
}
}打印结果:
测试序列化
618
TestSerializable [id=1,name=ConstXiong]以上就是什么是爪哇岛的序列化的详细内容,更多请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。