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

在Java 6中使用Java 7 SDK功能

年烈
2023-03-14
问题内容

我对使用Java 7
SDK中的某些NIO2功能(如果有的话)感兴趣(特别是文件系统监视程序),但是我不想为Java
7编译类并排除Java 6运行时。主要是因为我想保持与Mac OS X的兼容性,也因为我不想强迫我的用户升级。

这可能吗?最好的方法是什么?有任何链接或示例吗?

我可以想像一下一些方法:用其他编译器编译类文件并根据Java版本动态加载它?还是使用反射?或者,也许只有Java 7的编译器设置可以生成与Java
6兼容的类?

我正在寻找一种不会变成丑陋的解决方案的方法:),因此理想情况下,我可以编写两种接口实现,一种使用新功能,一种不使用,然后动态选择一个实现,而不必进行反射调用到处都是。


问题答案:

只需使用-target
1.6进行构建并组织代码,以便可以在使用1.7的模块周围清晰地捕获ClassNotFoundExceptions和NoClassDefFoundErrors。例如,也许使用单独的类加载器加载它们。



 类似资料:
  • 我java 6我可以声明如下数组列表 方法1:使用泛型,即

  • 我想在Fedora 17上使用OpenJDK编译成Java 6。Fedora 17有OpenJDK7,而不是OpenJDK6。我可以使用-target 1.6-source 1.6从Java 7编译到Java 6,但要正确地进行编译(避免警告:[options]引导类路径未与-source 1.6一起设置),我还需要-bootclasspath指向Java 6 rt.jar文件。但是OpenJDK

  • 我试图在火花数据帧中使用rowNumber。我的查询在Spark shell中按预期工作。但是当我在eclipse中写出它们并编译一个jar时,我面临着一个错误 我的问题 在Spark shell中运行查询时,我没有使用HiveContext。不确定为什么它返回一个错误,当我运行相同的jar文件。如果有帮助的话,我也在Spark 1.6.0上运行脚本。有人面临类似的问题吗?

  • 我在用 jre 1.6.0,nimbus-jose-jwt-8.20-jdk6.jar,bcprov-jdk15to18-166.jar。 我用EC算法和椭圆曲线P-512创建了一个密钥库和一个密钥对。如果我使用私钥对JWT进行签名,然后尝试使用公钥对其进行验证,那么一切都可以正常工作,但是除了签名之外,我还需要进行加密,以生成一个看不到有效负载的JWE。 我还在https://connect2i

  • 几天来,我一直在用头撞这个,完全被难倒了。下面是纲要: 我有一个Eclipse插件项目,使用Tycho通过Maven 3构建 在Maven中,我已经设置了maven-jarsigner-plugin来使用我的keystore对jars进行签名(有关keystore的详细信息,请参阅下文) 我的密钥库里有个Thawte签名的代码签名证书 我可以从目标/*中获取任何签名的jar文件,并在上面运行“ja

  • 本文向大家介绍在React.js功能组件中使用useEffect(),包括了在React.js功能组件中使用useEffect()的使用技巧和注意事项,需要的朋友参考一下 React钩子useEffect有助于在React的功能组件中添加componentDidUpdate和componentDidMount组合生命周期。 到目前为止,我们知道我们只能在有状态组件中添加生命周期方法。 要使用它,我

  • 我在OS X上,一直在使用Oracle的Java1.8。为了安装,我确实必须安装Apple的旧Java 6,但至少命令似乎会失败,除非我更改环境变量以指向Java 6安装。 下面是我看到的输出: 对于我来说,为重写的最佳方法是什么?是否应该编辑?

  • 问题内容: 我正在将ReactJS与Babel和Webpack一起使用,并使用ES6以及针对箭头功能的建议类字段。我知道箭头函数通过不重新创建每个呈现的函数(类似于构造函数中的绑定工作方式)来使事情更高效。但是,我不确定100%是否正确使用了它们。以下是我的代码在三个不同文件中的简化部分。 我的代码: Main.js SecondClass.js ThirdClass.js 题: 我上面的代码使用