2014-07-11 301 views
5

我正在編寫將在AIX服務器上運行的Java代碼。我想知道IBM的JDK和Oracle的JDK之間的區別,以及JDK是否具有相同的類。 IBM JDK是否具有Oracle JDK中的所有類?ibm jdk和oracle jdk有什麼區別?

是否有IBM文檔描述兩個JDK之間的差異?

+1

兩者是相同規格的不同實現。他們不包括對方。 –

+0

@Tichodroma我在哪裏可以找到差異? – PapaSmurf

+0

@Tichodroma如果他們在相同的規範上開發,那麼API API就是一樣的! – PapaSmurf

回答

1

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

這三者顯然是相容的。除了偶爾的差異(例如JAXWS初創行爲),我們遇到的問題極少。

有一個JDK丟失了其他東西的東西沒有大的漏洞。

+0

我會補充一點,加密算法等方面存在一些差異,其中一個存在但不存在。在Mac上發現了這個難題! – Greg

4

Oracle和IBM Java運行時間之間最大的區別是它們具有獨立的Java虛擬機(JVM)和即時(JIT)編譯器實現。 IBM需要構建自己的JVM和JIT,這些JVM和JIT可以在諸如z/OS(大型機),Power和處理器上的Linux等平臺上運行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