我知道有 JRE 和 JVM。我也用 Java 编程过,所以不是一个完全的初学者。然而最近我变得非常困惑,希望您能立即回答我的问题。
我拥有哪个版本的 JRE 和 JVM?哪个是最新的?
现在,在想要告诉我“谷歌它”之前,我已经用谷歌搜索了它。因此我的困惑。
在java主页上写着:
在 Java 控制面板的“常规”选项卡下,可通过“关于”部分获得该版本。出现一个对话框(单击“关于”后),显示 Java 版本。
好吧,我这样做了,我有版本 8 Update71。
在该主页上还说:
JRE 和 JDK 是独立的,可以在您的系统上共存。Mac 上只能安装一个 JRE。一个系统上可以安装多个 JDK,您想安装多少就安装多少。
好吧,我已经知道了。所以我按照他们所说的从终端获取版本,然后我得到了
java -version
java version "1.8.0_71"
Java(TM) SE Runtime Environment (build 1.8.0_71-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.71-b15, mixed mode)
Run Code Online (Sandbox Code Playgroud)
好吧,看来是一样的。那么现在问题来了:
我有哪个版本?我的意思是版本8是JRE版本?或者是JVM版本?在主页上虽然他们区分了它们(如引用),但获取版本的说明是相同的!
更复杂的是,我访问了维基百科,那里说当前支持的版本是 Java 8 和 Java 11。为什么是两个?9 和 10 发生了什么?再说一遍,这些是 JRE 还是 JVM?
谁可以给我解释一下这个?
在我看来,您的问题在同一篇维基百科文章中得到了回答:
Java 8 和 Java 11 是当前支持的长期支持(LTS) 版本,Java 10 是之前支持的快速发布版本。Java 10 支持于 2018 年 9 月开始支持 Java 11 的同一天结束。Java 7 不再受到公开支持,Java 9 已停止接收更新。由于 Java 9 是一个短期快速发布版本,已被 Java 10 取代,而 Java 8 的“公共更新结束”计划为商业用途于 2019 年 1 月,非商业用途则不早于 2020 年 12 月。对于Java 11,Oracle将不会提供长期支持;相反,更广泛的 OpenJDK 社区(如 AdoptOpenJDK)预计将执行这项工作。
所以版本 9 和版本 10 的寿命很短。我猜想它们是为了应对严重的安全漏洞而仓促采取的权宜之计。
版本8是Oracle仍然支持的最后一个版本,分为JDK和JRE。版本 11 似乎已经放弃了这个划分,并且只有一个基于 OpenJDK 的统一 JDK 版本,因此它可能没有 Oracle Java 付费版本中的性能增强。
为了查找 Linux 上的版本,我想您可以查询已安装的软件包。
在 Windows 上,您可以在 32 位和 64 位的注册表中找到该信息:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\JavaSoft
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft
您还可以在控制面板 > Java(32 位)或 控制面板 > Java(64 位)中找到该信息:
归档时间: |
|
查看次数: |
2355 次 |
最近记录: |