一. 储备知识
本人JavaWeb小白,最近经常看到某些类都继承Serializable,所以就查了一下它的作用,现在总结一下。
1.1 Serializable的作用
Serializable的作用是实现序列化,那么什么是序列化呢?往下看
1.2 什么是序列化
序列化的意思是保存内存中对象的状态,也可以把保存起来的对象状态再读出来。把一个完全变成字节序列(序列化)可方便传输。这个作用我们可能能自己写一套,但是Java提供了一套保存对象状态的机制Serializable,它比我们自己写的可能比较完善。知道了什么是序列化,那么什么时候需要序列化,为什么要序列化呢?往下看
1.3 什么时候需要序列化
- 当我想把内存中的对象的状态保存到文件中或者数据库里面的时候
- 当我想用序列化在网络上传送对象的时候(就像我们要寄一个玩具,但是快递盒子比玩具小,我们可以把玩具拆卸,再放进去,java提供的机制可以自动还原状态。)
- 当我想通过RMI传送对象的时候
1.4 其他注意事项
- 当一个父类实现了序列化,那么它的子类不必再显式实现Serializable接口,因为他会自动实现序列化
- 当一个对象的实例化变量引用其他对象,序列化该对象时,同时也会序列化引用的对象