java为什么要序列化,什么是 java 序列化-什么情况下需要序列化-

  java为什么要序列化,什么是 java 序列化?什么情况下需要序列化?

  

  如何解决写爬虫IP受阻的问题?立即使用。

  序列化是一种用来处理对象流的机制。(推荐学习:java课程)

  所谓对象流,就是将对象的内容进行流处理。您可以读写流式对象,也可以在网络之间传输流式对象。

  序列化是为了解决在对对象流进行读写操作时所引发的问题。

  序列化的实现:

  为要序列化的类实现可序列化接口(标记接口),该类没有要实现的方法。实现Serializable只是为了标记对象可以序列化,然后用一个输出流(比如FileOutputStream)构造一个ObjectOutputStream对象。

  然后使用ObjectOutputStream对象的writeObject(Object obj)方法,就可以用obj参数写出对象(也就是保存它的状态),如果要还原就使用输入流。

  什么时候使用序列化呢?

  一:对象序列化可以实现分布式对象。

  例如,RMI(远程方法调用)使用对象序列化在远程主机上运行服务,就像在本地计算机上运行对象一样。

  二:java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。

  整个对象层次结构可以写入字节流,保存在文件中或通过网络连接传输。对象序列化可用于对对象进行“深度复制”,即复制对象本身和被引用对象本身。序列化一个对象可能会产生整个对象序列。

  三:序列化可以将内存中的类写入文件或数据库中。

  例如,如果一个类被序列化并保存为文件,则可以通过在下次读取文件时反序列化文件中的数据,将原始类恢复到内存中。

  类也可以序列化为流数据进行传输。一般来说就是把一个实例化的类变成文件存储,下次需要实例化的时候,只要反序列化就可以把类实例化到内存中,序列化的时候保留类中的所有变量和状态。

  四: 对象、文件、数据,有许多不同的格式,很难统一传输和保存。

  序列化后,将是一个字节流。不管是什么,都可以变成一样的东西,所以可以用通用的格式传输或者保存。传输后,如果要再次使用,就反序列化还原,这样对象还是对象,文件还是文件。

  因为JAVA中要将对象序列化为 流的形式 进行传输。以上是java为什么序列化的细节。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: