ibm jdk和oracle jdk有什么区别?

时间:2014-07-11 09:08:55

标签: java ibm-jdk

我正在编写将在AIX服务器上运行的Java代码。我想知道IBM的JDK和Oracle的JDK之间的区别,以及JDK是否具有相同的类。 IBM JDK是否具有Oracle JDK中的所有类?

是否有任何IBM文档描述了两个JDK之间的差异?

3 个答案:

答案 0 :(得分:9)

Oracle和IBM java运行时之间的最大区别在于它们具有独立的Java虚拟机(JVM)和即时(JIT)编译器实现。 IBM需要构建自己的JVM和JIT,这些JVM和JIT可以在诸如z / OS(大型机),AIX和Linux on Power处理器等平台上运行java程序,而其他Java实现将无法运行。 JVM和JIT是Java运行时内部的一部分,它们不应该改变您编写Java程序的方式。没有文档列出Oracle JDK和IBM之间的巨大差异,因为目标是使它们兼容。正如其他人已经说过的那样,他们都在实现相同的标准规范和Java API。也就是说,IBM提供了大量Java文档,可从以下网址获取:

http://www.ibm.com/developerworks/java/jdk/docs.html

可能影响您作为程序员的一个方面是IBM JRE有自己的安全提供程序实现,可能需要以不同方式进行配置。这些内容记录在安全指南中 - Java 8版本在此处:

http://www.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/introduction.html

答案 1 :(得分:3)

我在一个使用Java 1.6,部署到Oracle(JRockit),IBM和Oracle / Sun JDK的环境中工作。

这三者非常易于合作。除了偶尔的差异(例如在JAXWS启动行为中),我们发现的问题非常少。

没有一个巨大的漏洞,其中一个JDK缺少其他的东西。

答案 2 :(得分:1)

我在GBK编码方面遇到了很大的不同。 ibm jvm GBK代表ibm936,但openjdk或oracle jdk是CP936。 CP936是真正的GBK标准,称为Windows-936。因此,如果您解决了奇怪的GBK问题,可以看到the IBM solutions

相关问题