Serializable学习

1.java对象序列化:是运行过程中持久化java对象。保存的是java对象的状态,即:对象的成员变量。而不会关注类的静态变量。


2.保存的是java对象的一串字节码。等要使用的时候,用反序列化将字节码转换为对象。


3.transient 英[ˈtrænziənt](短暂的,转瞬即逝的)用于修饰java变量。当在序列化过程中不需要对某个成员变量进行保持时,就用transient修饰。反序列化时被transient修饰的变量被设为默认值。int 型的是 0,对象型的是 null。


4.通过ObjectOutputStream和ObjectInputStream进行对象的序列化和反序列化。


5.ArrayList的序列化过程:
  在序列化过程中,如果被序列化的类中定义了writeObject 和 readObject 方法,虚拟机会试图调用对象类里的 writeObject 和 readObject 方法,进行用户自定义的序列化和反序列化。如果没有这样的方法,则默认调用是 ObjectOutputStream 的 defaultWriteObject 方法以及 ObjectInputStream 的 defaultReadObject 方法。用户自定义的 writeObject 和 readObject 方法可以允许用户控制序列化的过程,比如可以在序列化的过程中动态改变序列化的数值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值