Java 序列化文件是否独立于平台?

Java 序列化文件是否独立于平台?,java,Java,在一次采访中,我被问到一个序列化文件,即.ser文件平台是独立的还是依赖的,为什么?我告诉他.ser文件与平台无关,但我不知道答案。请告诉我答案。是的。它们与JVM绑定,JVM的内部操作与平台无关。除了关于JIT编译代码在CPU上运行时的外观等平台细节之外,兼容JVM之间没有区别,不管是硬件还是操作系统。因此,从您的角度来看,Java就是Java,Java就是所有这些平台上的Java,直到您拥有引用本机资源(代码、硬件等)的Java为止。是的。它们与JVM绑定,JVM的内部操作与平台无关。除了关

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

是的。它们与JVM绑定,JVM的内部操作与平台无关。除了关于JIT编译代码在CPU上运行时的外观等平台细节之外,兼容JVM之间没有区别,不管是硬件还是操作系统。因此,从您的角度来看,Java就是Java,Java就是所有这些平台上的Java,直到您拥有引用本机资源(代码、硬件等)的Java为止。

是的。它们与JVM绑定,JVM的内部操作与平台无关。除了关于JIT编译代码在CPU上运行时的外观等平台细节之外,兼容JVM之间没有区别,不管是硬件还是操作系统。因此,从您的角度来看,Java就是Java,Java就是所有这些平台上的Java,直到您拥有引用本机资源(代码、硬件等)的Java。

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

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

另见:


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

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

另见:


对不起,我认为这取决于平台。除了第一句话,我的评论与你的立场一致。对不起,我认为这取决于平台。除了第一句话,我的评论与你的立场一致。