前阵子不知道做的哪家的笔试题,选择题有这个序列化的问题,当时一脸懵逼,似乎平时都没有用到过。现在有空,就把这个知识补一补吧。
序列化,是让我们有可能在程序不运行的时候,存在并保存对象的信息。等到下一次程序运行时,对象将被重建并且拥有与上次运行时相同的信息。跟数据库中的“持久性”这一概念很类似。
Java的对象序列化,将实现了serializable接口的对象转换成一个字节序列,并且能够在以后,将这个字节序列完全恢复为原来的对象。
对对象序列化的是为了支持:、
1、RMI(Remote method invocation)远程方法调用,他使得存活于其他计算机的对象就像存活于本机上一样。向远程对象发送消息,需要通过对象序列化来传输参数和返回值。
2、javaBean。使用Javabean的时候,一般也是在设计阶段对其进行状态配置(框架中经常都是这样啊 )这种状态信息必须被保存下来,并且在运行的后期进行恢复。这也是通过序列化完成的。
java的序列化,不仅仅保存了对象,还能追踪对象内所包含的应用,并且保存那些对象。(这不是废话吗,如果没有保存他引用的对象,应该也不能重建吧?),接着又能对对象包含的引用进行追踪,依次类推,就像爬虫一样,形成一个对象网络。
先写这么多 下次再写。。。。