更加便捷的理解序列化

一、什么是序列化

它是完整的保存了某一状态下的对象信息,是一个整体,而不是零散的

二、为什么要序列化

1,存储对象在存储介质中,以便在下次使用的时候,可以很快捷的重建一个副本

2,便于数据传输,尤其是在远程调用的时候!

三、接口java.io.Serializable的用处 

 1、java.io.Serializable,表示序列化,是一个空接口,也就是说这个接口没有声明任何的方法,所以实现这个接口的类也就不需要实现任何的方法。   
    
 2、序列化   用在将对象编码成字节流(序列化)从字节流编码重构对象(反序列化)。   
  序列化   为远程通信提供了标准的wire-level协议。
    
 3、 要使类的实例实现序列化,只要在它的声明中加入implements   java.io.Serializable   
但是却由一些隐患   
  1 》  实现了序列化后,一旦发布,讲削弱改变类实现的灵活性。   
  2 》 增加了bug和安全漏洞的的可能性   
  3 》  当你的新版本发布时增加了相关的测试上的问题。   
这个接口使得所有的实现它的类具有一个特殊的(mixin)类型,从而使JVM知道这个类可以安全地串行化。

 

4、如果你需要把一个Bean实例通过网络传输或者写到磁盘文件的话,那么实现Serializable接口是最简单的,你可以直接通过ObjectInputStream,ObjectOutputStream进行读入或者写出

 

5、为了EJB容器可以记录用户生存期期间用户的信息,在EJB中实现Stateful Session Bean时,必须继承Serializable。这样,EJB容器才能在它们不再使用时序列化存储它们的状态信息。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值