当前位置: 首页 > 面试题库 >

Java版本之间是否存在向后不兼容的特定示例?

秋煌
2023-03-14
问题内容

Java版本之间是否存在不兼容的问题,其中针对Java版本X的Java源代码/ Java类文件不会在版本Y(其中Y> X)下编译/运行?

“ Java版本”是指诸如以下的版本:

  • JDK 1.0(1996年1月)
  • JDK 1.1(1997年2月)
  • J2SE 1.2(1998年12月)
  • J2SE 1.3(2000年5月)
  • J2SE 1.4(2002年2月)
  • J2SE 5.0(2004年9月)
  • Java SE 6(2006年12月)

家庭规则:

  • 请在可能的地方包括参考和代码示例。
  • 请在回答中尽量具体/具体。
  • 被标记为@Deprecated的类不算作向后不兼容。

问题答案:

各种版本的兼容性说明:

  • Java 1.4
  • Java 5
  • Java 6
  • Java 7
  • Java 8

我记得的第一个主要障碍是assertJava 1.4
的引入。它影响了很多JUnit代码。



 类似资料:
  • 如果我有一个用SwiftUI制作的应用程序,它是否适用于iOS13以下的iOS?

  • 我目前安装了Java8(更新171)和Oxygen.3a(4.7.3a)(Eclipse版本)。我以前下载过Java10,但我读到有一个bug,WindowBuilder不能在该版本上工作,它被推荐为版本8,这是我下载并安装的版本(在卸载版本10后)。但问题还在。 我能做些什么来解决这个问题?谢谢你。

  • 问题内容: 我刚刚安装了Eclipse Oxygen并创建了一个JFrame项目。从源视图切换到设计视图时,出现“不兼容的Java版本错误”。 完全错误Desc:Eclipse在0以下运行,但是此Java项目的Java兼容级别为10,因此WindowBuilder将无法从该项目中加载类。对项目使用较低级别的Java,或使用较新的Java版本运行Eclipse。 我在Windows中检查了版本->首

  • MySQL 5.1中使用的二进制日志格式与以前的版本中所使用的大大不同,特别是在字符集处理、LOAD DATA INFILE以及时区方面。 注释:你不能从使用新二进制日志格式的主服务器向使用旧二进制日志格式的从服务器复制(例如,从MySQL 5.0到MySQL 4.1)。。这样操作在复制设置升级服务器时后果严重,参见6.6节,“升级复制设置”。 我们推荐使用最近的MySQL版本,因为复制功能在不断

  • 我正在使用生成cacerts。 然后我使用,但我会遇到这样的例外: 这是兼容性问题吗?使用一个版本的java生成的Cacert是否与另一个版本的java不兼容?

  • Websphere 8.5.0.2具有java 1.7u67。因此,我正在使用Java 1.7u60构建我的应用程序。但Websphere在部署时仍会抱怨,不兼容的版本和应用程序可能已编译为服务器配置的更高版本。 除了1.7u60之外,我的本地系统中没有其他版本的Java。不确定引发此错误的原因。这可能是websphere的问题吗?或者,在构建应用程序时,我是否遗漏了什么?附言:这是一个。我尝试在