1394报文 java_java网络

第三章Java对象的序列化与反序列化

1.对象序列化与反序列化的基本概念

2.实现序列化的基本过程

Serializable和Externalizable接口

ObjectOutputStream和ObjectInputStream

3.自定义序列化的两种方式

4.默认序列化方式与自定义序列化方式的比较

5.类不同版本的序列化兼容性

对象序列化

对象序列化:将Java对象转化成二进制字节流的过程。

对象反序列化: 将二进制字节流恢复为Java对象的过程。

对象序列化的主要用途:

(1)将对象的字节序列永久的保存到硬盘上,通常存放在一个文件中。

(2) 在网络中跨虚拟机传递对象。

Serializable和Externalizable接口

序列化的过程:

(1)只有实现了Serializable和Externalizable接口的类的对象才能进行序列化操作。

Externalizable接口继承自Serializable口,

实现Externalizable接口的类需要自行控制序列化的行为。

实现Serializable接口的类采用默认的序列化方式。

JDK类库中的部分类(String,封装类和Date类等)都实现了Serializable接口。ObjectInputStream和ObjectOutputStream

(2) 对象输入和输出流

构造方法:

ObjectInputStream(InputStream in)

ObjectOutputStream(OutputStream out)

见源文件:ObjectSerTest.java

ObjectInputStream

ObjectInputStream按照默认方式进行反序列化时,具有以下特点:

(1) 如果内存中对象所属的类还没有加载,那么会加载并初始化这个类。如果在classpath中找不到相应的类文件,抛出ClassNotFoundException。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值