为什么我们有两个版本的Java?

时间:2014-09-10 15:19:32

标签: java

为什么我们有两个版本的Java?

  1. 来自Oracle的jdk和来自OpenJDK的jdk。
  2. 为什么会这样 OpenJDK仅适用于Linux?
  3. 在维基百科上,我发现了 Java是开源的。但是,我在其中找到了版权信息 Oracles JDK说一切都受到限制???

2 个答案:

答案 0 :(得分:5)

  1. Open JDK试图通过给你自由选择来重新发明轮子(你可以使用酷的OpenJDK JVM或主流的Oracle)

  2. 如果有什么东西很酷,它只适用于linux

  3. 这个问题超出了SO范围,除了我不确定自己......

答案 1 :(得分:2)

有很多java发行版。 Oracle JDK只是参考,但是存在Open JDK等其他版本。例如,IBM有自己的。虽然它们都共享强制性功能集,但每个功能都超出了它,并实现了自己的专有集。 Oracle JDK的一部分是开源,它需要许可嵌入式设备,这就是Open JDK存在的原因 - 提供完全免费的Java实现。现在,Java在“规范”中是开源的,大多数Oracle JDK也是如此。只要通过Oracle认证兼容性测试,其他公司就可以自行实施。尽管如此,Oracle还拥有Java商标,而我认为具有认证其他实现的能力。某处存在与谷歌及其Java实施的争议(与现已解散的Apache Harmony相同)。 对于Windows上的Open JDK,可以通过构建源来完成(如this guy here所做的那样)。二进制文件不存在可能是因为没有需求。只有Linux才对专有软件施加限制。