同学:
序列化的由来:
流是可以操作数据的,,现在数据被封装成一个对象了,对象本身存在堆内存当中,程序结束时内存就释放了,堆内存里面那些垃圾就被回收了这个对象就不存在了,,我们可以通过流的方式把堆内存中的那个对象存到硬盘文件上,,,堆内存里的对象当中会封装一些数据,,这些数据也随着对象存到硬盘上了,,即使程序结束了这个对象还存在,当我再次运行这程序我想把之前那个对象的数据重新拿回来用,只要把这个存储对象的文件读一次就可以了,,把对象存到硬盘上叫做对象的持久化存储,
还有一点很有用的就是:
java对象序列化不仅可以保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序列化可以进行对象的"深复制",即复制对象本身及引用的对象本身。序列化一个对象可能得到整个对象序列。
比如:你当前的对象里面引用了其他的对象,,或者引用了其他包里面的对象,那么你序列化这个对象时也会同时把对象里面引用的那些其他对象也一起序列化了,,,所以你序列化一个对象的同时也把整个对象链保存到文件里了,,, |