java - 相同安装的 Java 版本具有相同的 serialversionUID

标签 java serialization

我有一个简单的问题,谷歌搜索没有正确解决这个问题: 如果我将相同的Java二进制文件安装到不同的计算机上,它们的serialversionUID会保持不变吗?如果不是,那么除了显式更改之外,它们的serialversionUID 是否有任何不同的机制?感谢您的解释。 (这是生成 UID 的算法的链接:algorithm)

最佳答案

是的,因为serialVersionUID只是设置为静态值的成员变量,并且您在将它们放置在第一台机器和第二台机器上之间没有重新编译二进制文件。

它是在运行时与serialVersionUID 相关的序列化/反序列化架构。如果使用serialVersionUID修改类的源代码,他们应该检查该类与未修改版本的序列化兼容性,如果不兼容,请将serialVerisonUID调整为该类尚未使用的值。

关于java - 相同安装的 Java 版本具有相同的 serialversionUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9082173/

相关文章:

java - 这是否被视为反射(reflection)?在何种程度上?

c# - 如何反序列化为现有对象 - C#

xml - 将 XML 字符串反序列化为对象 VB.NET

java - 在 Java 中将多个 ArrayList 保存/加载到一个文件中

使用 BinarySerializer 的 C# TCP 数据传输

python - 为什么 PATH 变量不影响 Windows 中的 subprocess.Popen

java - 如何在java中打开hex文件?

c# - 转换成base64会加一个回车符

java - 找不到主类: Main. 程序将退出

java - 何时在 Java EE 环境中打开/关闭 hibernate session