OpenJDK和Oracle JDK都仅由Oracle当前创建和维护。
OpenJDK和Oracle JDK是通过TCK(Java技术认证套件)的同一Java规范的实现。
JDK的大多数供应商都是通过OpenJDK编写的,它们做了一些调整[主要是替换许可的专有部件/替换为仅在特定OS上可用的更多高性能项目]组件,而又没有破坏TCK兼容性。
许多供应商实施了Java规范并通过了TCK。例如,IBM J9,Azul Zulu,Azul Zing和Oracle JDK。
几乎每个现有的JDK都源自OpenJDK。
正如许多人所建议的,许可是JDK之间的一种变化。
从JDK 11开始获得长期支持,Oracle JDK / Java SE现在将需要商业许可。现在,您应该注意要安装的JDK,因为没有订阅的Oracle JDK可能会停止工作
问题内容: 我在理解Java JRE的一些基本知识时遇到了麻烦。 我需要在嵌入式系统中运行Java代码,为此,我需要在Linux内核中安装最小的Java运行时环境,即执行Java二进制文件所需的最小程序包。我认为仅使用JVM是不可能的(JRE包是必需的,在这里我错了吗?) 事情是,看着Debian仓库的时候我也不太明白软件包之间的差异,和。Java程序将仅与前者一起运行吗?还是需要其中三个? 这是
JVM、JDK、JRE和OpenJDK之间的区别是什么? 我在Java编程时遇到了这些短语,它们之间有什么不同?
当我安装netbeans时,它给了我选择java环境的选项,我有3个选项,oracle java和这两个(java-1.7.0-openjdk-i386和java-7-openjdk-i386)。这两个有什么区别呢?操作系统如果Ubuntu。
问题内容: 我错放了太多次了,我想我一直忘记,因为我不知道两者之间的区别,只是一个给了我我期望的价值,而另一个却没有。 为什么是这样? 问题答案: 是的简写形式(尽管请注意,该表达式只会被计算一次。) 是的,即指定一元的到。 例子:
问题内容: 因此,我有一段简单的代码可以打印出整数1-10: 然后,如果仅在第3行上更改一个运算符,它将打印出无限数量的1整数(我知道为什么会这样做)。为什么在运行第二个程序时没有出现语法错误?如果赋值运算符后面跟着一个加法运算符,它不会调用语法错误吗? 问题答案: 与相同, 只是意味着。