我正在开发一个应用程序,我计划公开发布,或者至少与一群人分享。作为一个开发人员,我面临的问题是兼容性。在我的机器上,我使用的是新的Java 8,但我害怕使用它的新特性,事实上,我甚至害怕使用Java 7中的新特性,比如try-with-resources,因为害怕用户没有最新的Java版本,因此无法使用我的应用程序。例如,我们学校的计算机仍然使用Java 6。
首先,我的想法正确吗?或者用更新的JDK编译的代码可以在具有旧JRE的机器上运行吗?如果我是正确的,是否有既定的“规则”或兼容性标准?比如,“确保您的代码与两个版本的JRE兼容!”还是纯粹是由开发人员判断什么时候应该使用新特性来进行发布的工作呢?为了强调一下,我说的只是运行这个程序。用户将永远不必编译它。
我知道这是一个有点开放的地方,但这是我能想到的最好的地方。谢谢。
发布于 2014-04-04 03:59:38
首先,您可以通过使用-version标志编译Java来指定要支持的Java版本。这意味着,由于您使用的是Java 8,所以始终可以强制将代码编译到更低的版本(即Java 6)。
关于较早的Java版本-是的,您可能会遇到这种情况。很多人因为某种原因没有更新他们的Java版本。但是,这是您必须做出决定的地方:您是选择支持他们的版本,还是选择支持其他版本?这个特定的部分是开放的,但是取决于您最终想要在代码中使用什么(菱形操作符,使用资源(实际上非常好),NIO),然后您将希望使用适合您的Java版本,以及您希望支持的版本。
https://stackoverflow.com/questions/22853226
复制相似问题