高级Java版本创建的Java对象是否可以在较低的Java版本中运行

时间:2013-11-12 22:36:21

标签: java

我的意思是:

  1. 组件A使用MQ Server
  2. 将对象发布到组件B.
  3. 组件A已编译并在Java 6上运行
  4. 组件B已编译并在Java 4上运行
  5. 会发生什么?

    我没有足够的基础设施来测试它。

2 个答案:

答案 0 :(得分:3)

您可能会获得不受支持的主要/次要异常。看看这篇谈论它的帖子:

How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version

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

答案 1 :(得分:0)

在您的情况下,组件A必须编写组件B可以理解的内容。没什么重要的。

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