首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我应该继续针对Java的旧版本进行编译吗?

我应该继续针对Java的旧版本进行编译吗?
EN

Stack Overflow用户
提问于 2015-05-13 21:30:37
回答 3查看 358关注 0票数 2

自从Java 8发布以来,我发现自己慢慢地依赖于Java 8特有的特性(例如.)在我刚刚开始的一个库项目上。

到目前为止,我已经看到了许多其他项目,它们仍然是针对Java 7,甚至是Java 6构建的,这使我不得不怀疑自己。

是一个好主意,立即开始构建的最新版本的Java,还是我应该仍然使用旧版本?

注意,与Java 6/7是最新版本时启动的其他项目不同,最近Java 8是最新版本时启动了我的项目。

EN

回答 3

Stack Overflow用户

发布于 2015-05-14 04:45:36

我可以认为,这需要使用预Java 8 JVM的两个原因:

  1. 您正在编写一个库,该库由组织之外的一大群人使用,这些人仍然停留在Java8JVM之前。如果您使用最新和最优秀的JVM,它们将无法再使用您的产品。
  2. 您依赖的是一个第三方库,该库没有升级到Java 8,而是中断了Java 8。

既然你提到这是一个新的项目,第一不太可能。即使您计划拥有外部用户,如果它是一个新项目,那么需要JVM的最新版本也不是什么问题。

数字2也变得越来越不可能了,因为越来越流行的第三方库已经发布了用于Java 8的更新。即使是少数几个散乱的程序也可以使用Java 8。例如,我在Java 8中使用了一个古老版本的hibernate。我只是在任何映射的字段/实体中都不使用任何Java 8功能。

票数 3
EN

Stack Overflow用户

发布于 2015-05-13 23:25:46

Java 8表示自Java 5(或者它开始)以来对语言的重大改变。如果您专门针对已更改的语言部分(我猜您声称是这样的),那么只让它在Java 8+运行时使用是有意义的。

当Java 5在10年前出现时,您希望使用当时引入的所有新特性(例如foreach语句、Enum等)。进入你自己的图书馆开发,你会做什么?我相信你至少会让你的库需要Java 5。如果你同意这一点,那么这种(声音)逻辑同样适用于你目前的情况。

票数 1
EN

Stack Overflow用户

发布于 2015-05-14 04:35:21

对于服务器端应用程序,可能比EJP建议的当前版本早一两个版本。

然而,在客户端,我认为尝试支持旧的Java版本没有任何意义。至少从Java6开始,JRE就一直在自动更新。它已经到了Java Web Start启动应用程序时不能指定比当前JRE更早的地步。或者更确切地说,它可以在启动文件中指定它选择的任何JRE,但这将被忽略,以支持用户计算机上安装的最新版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30225510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档