Java 旧JRE中运行时的保留策略?

Java 旧JRE中运行时的保留策略?,java,annotations,runtime,retention,Java,Annotations,Runtime,Retention,当使用RetentionPolicy#RUNTIME注释的类或接口加载到旧的JRE中时会发生什么 @functionanterface//Java8@Retention(RetentionPolicy.RUNTIME) 公共接口MyFunctional{ } 是否高于接口或接口可以在JRE 7或更高版本中运行的任何类实现?注释的处理方式与其他普通类略有不同。如果JVM无法加载运行时注释的注释类,则此注释将被删除,并且您无法再找到有注释的提示。尝试时会发生什么?为什么要在Java 7上运行依赖于

当使用
RetentionPolicy#RUNTIME
注释的类或接口加载到旧的JRE中时会发生什么

@functionanterface//Java8@Retention(RetentionPolicy.RUNTIME)
公共接口MyFunctional{
}

是否高于接口或接口可以在JRE 7或更高版本中运行的任何类实现?

注释的处理方式与其他普通类略有不同。如果JVM无法加载运行时注释的注释类,则此注释将被删除,并且您无法再找到有注释的提示。

尝试时会发生什么?为什么要在Java 7上运行依赖于Java 8类和特性的代码?@JBNizet我完全期待您的评论。谁可能安装了多台JRE计算机?我知道,即使在我安装了JRE8之后,如果旧的JRE7仍保留在我的机器上,我自己也会这样做。我的机器上安装了(至少)3种不同的JDK。我猜几乎所有Java开发人员都安装了多个JDK,因为有些项目使用Java6,有些项目使用Java7,有些项目使用Java8。