为什么我们有两个版本的Java?
答案 0 :(得分:5)
Open JDK试图通过给你自由选择来重新发明轮子(你可以使用酷的OpenJDK JVM或主流的Oracle)
如果有什么东西很酷,它只适用于linux
这个问题超出了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才对专有软件施加限制。