Java ibm jdk和oracle jdk有什么区别?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/24694050/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
What are the difference between ibm jdk and oracle jdk?
提问by PapaSmurf
I'm writing Java code that will run on an AIX server. I'd like to know the difference between IBM's JDK and Oracle's JDK, and if the JDKs have the same classes. Does the IBM JDK have all the classes present in the Oracle JDK?
我正在编写将在 AIX 服务器上运行的 Java 代码。我想知道IBM的JDK和Oracle的JDK之间的区别,以及JDK是否具有相同的类。IBM JDK 是否具有 Oracle JDK 中存在的所有类?
Are there any IBM documents that describe the differences between the two JDKs?
是否有任何 IBM 文档描述了两个 JDK 之间的区别?
回答by kiwiron
I work in an environment where we use Java 1.6, deploying to Oracle (JRockit), IBM and Oracle/Sun JDKs.
我在使用 Java 1.6 的环境中工作,部署到 Oracle (JRockit)、IBM 和 Oracle/Sun JDK。
The three are remarkably comapatible. Apart from the occasional difference (e.g. in JAXWS startup behaviour) we strike remarkably few problems.
三者的默契度非常高。除了偶尔的差异(例如在 JAXWS 启动行为中),我们发现的问题非常少。
There are no huge holes where one JDK is missing stuff that is in others.
没有一个 JDK 缺少其他 JDK 中的东西的大漏洞。
回答by W. Smith
The biggest difference between the Oracle and IBM java runtimes is that they have independent Java Virtual Machine (JVM) and Just In Time (JIT) compiler implementations. IBM needed to build their own JVM and JIT that could run java programs on platforms such as z/OS (mainframes), AIX and Linux on Power processors, where other Java implementations would not run. The JVM and JIT are part of the Java runtime internals and they should not change how you write your Java programs. There are no documents listing the big differences between Oracle JDK and IBM, because the goal is to make them compatible. As others have said already, they are both implementing the same standard spec and Java API. That said, there is a lot of Java documentation from IBM, available at:
Oracle 和 IBM java 运行时之间的最大区别在于它们具有独立的 Java 虚拟机 (JVM) 和即时 (JIT) 编译器实现。IBM 需要构建自己的 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
http://www.ibm.com/developerworks/java/jdk/docs.html
One area that could affect you as a programmer is that the IBM JRE has its own implementations of Security providers, which might need to be configured differently. These are documented in a Security Guide - the Java 8 version is here:
作为一名程序员,可能会影响您的一个方面是 IBM JRE 有自己的安全提供程序实现,可能需要以不同的方式进行配置。这些都记录在安全指南中 - Java 8 版本在这里:
回答by fartpig
I meet a big difference in the GBK encoding. The ibm jvm GBK is stand for the ibm936, but the openjdk or oracle jdk is the CP936. CP936 is the real GBK standard, as knowned the windows-936. So if you meed the strange GBK problems, you can see the IBM solutions
我在 GBK 编码中遇到了很大的不同。ibm jvm GBK 是 ibm936 的代表,而 openjdk 或 oracle jdk 是 CP936。CP936 是真正的 GBK 标准,即 windows-936。所以如果你遇到奇怪的GBK问题,你可以看看IBM的解决方案