OpenJDK和Oracle JDK兼容序列化吗?

时间:2015-09-07 19:26:53

标签: java serialization jvm openjdk

你可以安全地使用OpenJDK反序列化我们通过使用Oracle JDK序列化一些二进制数据吗? (反之亦然)

让我们假设java版本是相同的(并且类代码可用,并且在两个阶段都是相同的。)

Oracle JVM是否将对象视为公共信息的确切方式?

2 个答案:

答案 0 :(得分:2)

扩展来自@morgano,@ RealSkeptic和@EJP的评论(应该给予信任):是的,Java对象序列化是由an official specification指导的,这是公共的,所以任何进行序列化的JVM实现应该符合它,或者不称为JVM。

答案 1 :(得分:1)

我会说这不完全安全。在我的Android应用中,我无法反序列化已在Android 6设备上序列化的Android 7设备上的数据。显然,谷歌在Android 7中切换到了OpenJDK。 我得到的错误是:

java.io.StreamCorruptedException: invalid type code: 71

This problem was reported here in a similar fashion

由于我的应用程序通过互联网发送序列化数据,如果它在Android 6(或更低版本)和Android 7上都运行,它就会出现问题。