由较高Java版本创建的Java对象能否在较低Java版本中运行

由较高Java版本创建的Java对象能否在较低Java版本中运行,java,Java,我想问的是: 组件A正在使用MQ服务器将对象发布到组件B 组件A在Java6上编译和运行 组件B在Java4上编译和运行 会发生什么 我没有足够的基础设施来测试这一点。您可能会遇到不受支持的主要/次要异常。看看这篇关于它的帖子: 基本上,您应该编译所有源代码以在特定版本的Java上运行。您可能会遇到不受支持的主要/次要异常。看看这篇关于它的帖子: 基本上,您应该编译所有源代码以在特定版本的Java上运行。在您的情况下,组件a必须编写组件B可以理解的内容。没有别的事了 实际上,您不能通过消息传

我想问的是:

  • 组件A正在使用MQ服务器将对象发布到组件B
  • 组件A在Java6上编译和运行
  • 组件B在Java4上编译和运行
  • 会发生什么


    我没有足够的基础设施来测试这一点。

    您可能会遇到不受支持的主要/次要异常。看看这篇关于它的帖子:


    基本上,您应该编译所有源代码以在特定版本的Java上运行。

    您可能会遇到不受支持的主要/次要异常。看看这篇关于它的帖子:


    基本上,您应该编译所有源代码以在特定版本的Java上运行。

    在您的情况下,组件a必须编写组件B可以理解的内容。没有别的事了


    实际上,您不能通过消息传递系统传递对象。您所能做的就是在一端将数据序列化为字节,在另一端反序列化数据。这意味着一端的类可以与另一端的类完全不同(不仅仅是不同的版本,甚至是不同的语言)。问题是有线协议需要兼容。

    在您的情况下,组件A必须编写组件B可以理解的内容。没有别的事了


    实际上,您不能通过消息传递系统传递对象。您所能做的就是在一端将数据序列化为字节,在另一端反序列化数据。这意味着一端的类可以与另一端的类完全不同(不仅仅是不同的版本,甚至是不同的语言)。问题是wire协议需要兼容。

    即使您没有使用旧Java不支持的任何功能,也会出现此错误。如果是这样,只需使用旧版本编译,它将在这两个版本上运行。到目前为止,新版本都是向后兼容的。即使您没有使用旧Java不支持的任何功能,也会出现此错误-但如果是这样,只需使用旧版本编译,它将在这两个版本上运行。到目前为止,新版本都是向后兼容的。