问题标签 [serialversionuid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - java.io.InvalidClassException 在 java 类中进行一些修改后反序列化对象
为什么无法反序列化但是我已经序列化了这个 Container 类使用serialVersionUID = 75264711556228L;
现在,在使用名称 container.ser 进行序列化后,我在 Container 类中添加了一个 setter 和 getter 方法,例如:
然后我尝试使用更改的项目名称来反序列化对象,但未能反序列化并且我得到如下错误:
java - How to send Kryo serialized objects over JMS?
I would like to use Kryo to (de-)serialize objects and send/receive them via JMS.
The problem I'm having is that both sides, sender and receiver, must register the classes with the same ID.
Kryo has a method register (Class type, int id)
that I use. Unfortunately id
is an int (as compared to long serialVersionUID
used by the Serializable interface). It would be nice if I could use serialVersionUID to register classes.
How do you guys use Kryo over the network?
intellij-idea - 在 intellij 中自动生成 serialVersionUID 停止工作
我之前已经通过安装插件 GenerateSerialVersionUID 并在设置-代码-检查中启用复选框,在 IntelliJ IDEA 中自动生成 serialVersionUID,就像之前对这个问题的答案所说的那样。我不能放过这个,有人吗?我有 EE 2016.1.3。我已经在这里尝试了所有答案。我要的是警告,即 IntelliJ 让我知道我应该提供 serialVersionUID。生成它是奖金。
java - 为什么java中的serialVersionUID必须是静态的、最终的和long类型的?
- 为什么必须将serialVersionUID声明为 static、final 和 long 类型的变量?
- 这个 serialVersionUID 是唯一的吗?
- 当两个或多个类包含相同的 serialVersionUID 时会发生什么?在这种情况下,这个 versionUID 将如何用于反序列化字节数组?
java - 使用 serialVersionUid 进行序列化
到目前为止,我对序列化的概念以及 serialVersionUid 的使用都很清楚。我有一个疑问,希望大家帮助我理解这种情况。尝试了很多,但没有从 Google 获得适当的帮助。
1)Sender 用 a 序列化一个 ObjectserialVersionUid
2)Receiver反序列化同一个Object。
来自哪里serialVersionUid
?我想JVM
将从序列化类中提取它。那么接收器是否应该在反序列化之前将相同的类加载到内存中?如果那为什么会因为serialVersionUid
不匹配而出现异常,因为接收器将从serialVersionUid
序列化类中提取。如果是这样的话,那我们为什么还要要求serialVersionUid
呢?
java - 如果它们只会被记录,我应该序列化我的异常吗?
我正在开发一个小型内部工具,它肯定不会专注于可扩展性。
- 我 100% 确信我现在或将来正在编写的代码不会有任何外部依赖关系——因此不用担心不同应用程序域之间的编组。
- 我将记录异常,并且不太可能通过工具进行一些事后分析。
- 不遵守初始设计发送异常 throw wire
在这种情况下,我是否仍然需要我的异常具有明确的 serialVersionUID?serialVersionUID 是否有助于仅记录对象?
java - SerialVersionUID JavaDoc?
在向我的 Java 程序添加文档时,我意识到大多数类都需要serialVersionUID
声明一个常量属性。我应该如何准确记录这个属性?如果我使用默认和生成的串行版本 UID,我是否会以不同的方式记录它?
java - 生成serialVersionID而不是1L、2L、
我和一位同事讨论了可序列化类的 serialVersionUID:他总是以 a 开头,serialVersionUID = 1L
然后在类有一些重大变化时将其加一。
JDK 类似乎总是使用更复杂的、生成的 serialVersionUID,例如在java.lang.String
类中:
现在我的同事询问这种serialVersionUID 与更简单的serialVersionUID(如1L、2L、3L...)相比的优势?
我们也在 SOF 上进行了搜索,但对给出的答案不是很满意,例如在Why generate long serialVersionUID 而不是简单的 1L?.
在我看来,使用生成的 ID 的优点是它不需要任何关于“旧”类版本的信息。但是当手动增加 ID 时,您必须知道迄今为止的最高值。这可能听起来微不足道(只需查看当前的 serialVersionUID 并将其增加 1),但在更大的软件项目、更大的开发团队或分布式环境中可能会更复杂。
serialversionuid - swagger-codegen-maven-plugin 生成代码中的serialVersionUID
我正在使用 swagger-codegen-2.1.6 并使用 serializableModel configOptions 通过 swagger-codegen-maven-plugin 成功生成序列化模型类。但是,我没有看到将 serialVersionUID 添加到类中,也找不到包含它的任何文档。任何帮助,将不胜感激。提前致谢。