JDK,JRE,Java:版本混淆

2022-09-01 19:11:46

(注:这个问题及其答案来自2011年,展示了当时的世界。


虽然我还不是一个真正的Java开发人员,但我觉得我现在应该知道这一点,但我仍然很困惑。我的问题有两个部分:

  1. 所谓的(正如我所看到的)“Sun JDK”,OpenJDK和GCJ之间有什么区别?

  2. 在不同的时候,我看到了以下每一个抛出的内容,这使得理解哪些版本号实际上适用于什么非常混乱。有人可以帮我解决这个问题吗?

    • 爪哇 6
    • Java 1.6
    • JDK 6
    • JDK 1.6
    • JRE 1.6
    • JVM 11.0

注意:我确实了解JDK(Java开发工具包)和Java运行时环境之间的区别。然而,我并不完全清楚JRE和JVM之间的区别,尽管我知道JVM是什么/做什么。


答案 1
  1. Sun JDK是由Sun制作的,OpenJDK是一个竞争性的开源实现。GCJ 是 GNU Java 编译器。
  2. Java 6 = Java 1.6 和 JDK 6 = JDK 1.6

详情1 http://en.wikipedia.org/wiki/OpenJDK https://stackoverflow.com/questions/1977238/why-should-i-use-the-sun-jdk-over-the-openjdk-or-vice-versa

http://en.wikipedia.org/wiki/GNU_Compiler_for_Java

GCJ与Sun JDK/OpenJDK有什么关系?据我所知,没有直接的关系。GCJ是一个单独的项目。使用一个 JDK 优于另一个 JDK 有什么优点?如果重新分发 Sun JDK,则可能会出现许可问题。就我个人而言,我对Sun JDK更加信任,因为它的稳定性。OpenJDK不是一个太阳项目吗?是和否。这是一个社区项目。


答案 2

Java 6 和 Java 1.6 是相同的。最初Java被命名为Java 1.X,但随着时间的推移,Sun营销发现,如果他们放弃“1.”部分,它将更好地表明所做的重大改进。第一个这样做的版本是Java 1.5,它被作为Java 5销售。

JRE 6 是 Java 6 的使用者发行版。从 http://java.com 下载很容易。

JDK 6 是 Java 6 的开发者发行版。它包含编译器等工具,并支持比默认 JRE 更多的区域性。它需要从 http://javasoft.com 下载。

JVM 11.0是Oracle JRE/ JDK内部Java“解释器”的版本(其他供应商使用不同的编号)。这类似于说Windows Vista实际上是Windows 6.0.6001。


推荐