JDK,JRE,Java:版本混乱!

Bri*_*acy 20 java openjdk gcj

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

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

  2. 在不同的时间,我已经看到以下每一个被抛出,使得理解哪些版本号实际适用于什么令人困惑.有人可以帮我解决这个问题吗?

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

注意:我确实理解JDK(Java Development Kit)和Java Runtime Environment之间的区别.虽然我知道JVM是什么/做什么,但我并不完全清楚JRE和JVM之间的区别.

Nav*_*avi 10

  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 /sf/ask/138406691/反之亦然

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

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


Tho*_*sen 8

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.