1

在一次采访中,有人问我是序列化文件,即 .ser 文件平台独立还是依赖,为什么?我告诉他 .ser 文件与平台无关,但我不知道答案。请让我知道答案。

4

2 回答 2

5

是的。它们与 JVM 相关联,并且 JVM 的内部操作与平台无关。除了有关在 CPU 上运行时 JIT 编译代码的外观的平台特定性之外,无论硬件或操作系统如何,兼容的 JVM 之间都没有区别。因此,从您的角度来看,Java 就是 Java 是所有这些平台上的 Java,直到您拥有引用本机资源(代码、硬件等)的 Java

于 2013-10-18T16:18:38.077 回答
0

取决于您如何定义平台。它独立于操作系统和 JVM 供应商(假设您明确声明了“serialversionUID”)。另一方面,标准 Java 库类可能会发生变化,因此它们将无法在未来的 JVM 版本中反序列化。(例如摇摆班)

但是如果您需要与.Net 通信,则必须使用XML 序列化(JAXB、XStream 等),它是真正独立于平台的。

也可以看看:

java对象序列化在1.5和1.6之间是否兼容

于 2013-10-18T16:33:45.017 回答