背景
之前使用serializable接口,仅仅知道它是用来序列化的,但为什么要实现,没思考过,今天想到了,就深入的理解了下,在此记录。
serializable的作用
简单的说,序列化和反序列化其实是对象和二进制流的相互转换,像什么网上很大博客写的,什么写入Mysql的时候啊,什么网络传输的时候啊,压根没关系,那些本质都是调用对象的get、set方法,跟序列化不沾边,平常Web开发,只有在将对象写入磁盘的时候,也就是IO相关的操作才会涉及。
serializable的使用场景
- 当你想把的内存中的对象写入到硬盘的时候;
- 当你想用套接字在网络上传送对象的时候(另一个说法就是当我们需要把对象的状态信息通过网络进行传输,或者需要将对象的状态信息持久化,以便将来使用时都需要把对象进行序列化。);
- 当你想通过RMI传输对象的时候;