我的代码的目标环境使用较旧的Java版本(Java 7、Java 8)。我使用JDK 7进行开发。
如果我使用最新的JDK进行开发,即JDK9(并指定source=1.7和target=1.7),会有什么好处吗?
我知道我的代码不能使用任何在目标平台上不可用的API。
发布于 2018-02-10 19:01:43
我可以吗?是。由于向后兼容性在Java中很重要,因此没有技术原因不能做到这一点。但是,有时公司政策要求开发时使用特定的JDK版本。
一般来说,使用较新版本的JDK的主要优点是熟悉较新版本的JDK。这也可能会增加您将软件本身迁移到更高版本的兴趣,如果您注意到它很有用的话:例如,您注意到您喜欢lambdas,所以您从Java 7迁移到Java 8。
由于得到的字节码是相同的(并不是说这真的很重要),而且您使用的工具通常不依赖于JDK,所以它几乎没有其他作用。您可以(通常)在较新的JRE上安全地运行代码,因此这也没有区别。
我应该做什么?
您现在是否应该开始使用JDK 9主要是见仁见智。正如奥列格指出的那样,它并没有被积极地推广到所有地方,所以至少你没有迟到,还有时间考虑继续前进一段时间(也许在考虑将其用于工作之前,先把它玩弄一下)。由于Java 8和Java 9之间巨大的体系结构差异,我预计在接受度方面会比旧版本之间的差距大得多。
然而,这并不都是令人沮丧的。here有一个非常好的特性总结,即使您暂时坚持使用Java7/8项目,当您觉得您已经准备好要看一看它时,我认为没有理由不在JDK9上这样做(并不着急)。我还没有安装它,尽管我已经读到了决定(他们没有删除Unsafe是个不错的选择)。
https://stackoverflow.com/questions/48719515
复制相似问题