什么是java序列化
对象转换成二进制
序列化:把Java对象转换为字节序列的方法。
反序列化:把字节序列恢复到Java对象的过程。
对象的序列化主要有两个用途:
1)把对象的字节序列化到永久德保存到硬盘上,通常存放在一个文件中;
2)在网络上传递对象的字节序列。
如何实现序列化
将需要被序列化的类实现 Serializable 接口,该接口没有需要实现的方法, implementsSerializable 只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream) 来构造一个 ObjectOutputStream( 对象流 ) 对象,接着,使用
ObjectOutputStream 对象的writeObject(Objectobj)方法就可以将参数为 obj的对象写出(即保存其状态),要恢复的话则用输入流
详细解释:
当两个进程在进行远程通讯时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式
在网络上传送。发送方需要把这个Java对象转化为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。
只能将支持java.io.Serializable接口的对象写入流中。每个serializable对象的类都被编码,编码内容包括类名和类签名,对象的字段值和数值,以及从初始化对象中引用的其他所有对象的闭包。