gpt4 book ai didi

java - 如果 JVM
转载 作者:行者123 更新时间:2023-12-04 08:24:43 25 4
gpt4 key购买 nike

JRE 包含在 JDK 安装中还是我错了?为什么我必须专门安装 JRE 才能玩基于 Java 的游戏,例如 Minecraft?

最佳答案

If JVM<JRE<JDK


这不是真的,但 JRE < JDK 或多或少是真的。

a specific JRE installation is also required to make games work?


实际上,JRE 已经死了。 java8 现在已经超过 5 年了,并且是 JRE 作为预期分发模型的最后一个版本。 JRE 模型的工作原理如下:
  • 开发人员安装 JDK 并使用它构建他们的 java 应用程序。
  • 开发人员将一堆 jar 文件发送给最终用户。
  • 最终用户将从例如下载 JRE。 oracle 并安装它。该用户和 oracle 共同对此进行维护(保持更新,例如关闭 JRE 中的安全漏洞);开发商根本不是这方面的一方。

  • JRE 之所以存在,是因为它可以更简单、更小,而且它的下载和维护可以为最终用户而不是开发人员简化。
    这也是游戏需要 JRE 的原因:JDK 通常不附带托管的安全更新,因为 JDK 的目标用户是被认为更了解并保持最新的开发人员。 (当然,他们没有,但这是另一个问题)。
    这个模型已经过时了。新模型是:
  • 开发人员安装 JDK 并使用它构建他们的 java 应用程序。
  • 他们使用 jlink 或其他安装程序创建工具来生成安装程序,然后将其发送给最终用户。 jlink 可以在没有开发人员工具的情况下制作 JDK 的自定义缩减版本,并且只需要 Java 库的那些部分。换句话说,甚至比 JRE 还要小。
  • 最终用户安装。他们与 oracle 或任何其他“JRE 提供者”没有任何安排,并且在他们的系统上不需要 JRE;即使有一个,它也不会被使用。将任何更新(包括安全更新)分发到正在使用的精简 Java 运行时完全由应用程序制造商负责。

  • 后一种模型实际上是大多数“在桌面上运行”的 Java 软件的分发方式:要求用户安装 JRE 是一件令人烦恼的事情,而且也不可靠:如果您的应用程序无法在 jre8 上运行,因为您编写了它怎么办? jre6 和 8 中更新的内容会破坏您的应用程序,但最终用户会更新他们的 jre?
    现在后一种模型是官方模型,这使您的问题大多没有实际意义。
    Minecraft 可能需要更新其部署。
    注意:一些公司,比如 Azul,仍然分发他们称之为“jre11”的东西。这些发行版适用于无法轻松摆脱“用户维护 JRE,开发人员仅分发 jar 文件”的旧分发模型,但确实希望使用新的 Java 功能的商店。 Oracle 不分发这些,而且这种分发模型也同样过时。 “过时”并不意味着“不可能”,只是“不推荐/您需要找到一些时间来摆脱它/绝对不要为新项目这样做”。

    关于java - 如果 JVM<JRE<JDK 为什么要安装最新版本的 JDK,还需要安装特定的 JRE 才能使游戏正常运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65324377/

    25 4 0

    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com