使类可序列化的用途是什么?

时间:2016-06-06 03:06:27

标签: java json rest serialization pojo

  1. 我注意到了许多库类" ArrayList"," String"甚至例外都有serialVersionUID。为什么他们这样做了。这样做的实际用途是什么。我很熟悉序列化的概念。请指出它的实际目的。
  2. 供您参考,找到Classversion Exception的serialversionUid

    public class ClassCastException extends RuntimeException {
    private static final long serialVersionUID = -9223365651070458532L;
    

    这些对象的状态会持续存在吗?这些对象将在何处被检索?

    1. 我目前正在开发一个项目,我们正在制作REST控制器,其输入和输出参数将是JSON。我们正在为i / p和o / p参数创建简单的POJO。我看到人们将这些POJO序列化.Whats这样做的重点是什么?
    2. 但是我没有看到**out.readObject** out.writeobject ,它用于写入和读取对象的状态.PoJO的状态是否会持久化,只是使其可序列化?如果是,它将被存储在哪里?

1 个答案:

答案 0 :(得分:3)

如果您需要完整的故事,请阅读规范:http://php.net/manual/en/function.date.php

  

[...]许多库类" ArrayList"," String"甚至例外都有serialVersionUID。为什么他们这样做了。

在读取以旧版本的类编写的对象时支持向后兼容性。请参阅Java Object Serialization Specification

  

这些对象的状态会持续存在吗?

无论你在哪里决定。请参阅Stream Unique Identifiers

  

这些对象将在何处被检索?

无论你把它放在哪里。请参阅Writing to an Object Stream

  

[...]输入和输出参数将是JSON。 [...]我看到人们将这些POJO序列化。这样做的重点是什么?

无。 JSON没有使用Java序列化。 Java序列化创建二进制流。 JSON创建文本。

  

POJO的状态是否会继续使其可序列化?如果是,它将被存储在哪里?

不,见上文。