簡體   English   中英

是否可以使用Oracle JDK編譯java並在OpenJDK上運行代碼?

[英]Is it possible to compile java using Oracle JDK and run the code on OpenJDK?

那么是否有可能在Windows 7機器上進行Java守護進程(Apache守護程序)的所有開發,然后在安裝了OpenJDK的Ubuntu服務器上安裝服務(仍然需要搜索如何操作)?

如果是,我如何在兩個系統上識別兼容的Java版本? 我的意思是如果我在Windows上使用Java 1.6,那么在Ubuntu服務器上應該具有的兼容性最差的OpenJDK版本是什么?

大多數情況下是的,但對於角落情況,它取決於並且應該在與生產配置緊密匹配的舞台上進行仔細測試。

以下是OpenJDK上發生的編譯器崩潰和測試失敗的示例,而在Oracle JDK構建時,源的相同快照為綠色:

http://travis-ci.org/#!/plokhotnyuk/actors/builds/1948184

http://travis-ci.org/#!/plokhotnyuk/calculator/builds/1948194

Java字節代碼是可移植的,可以使用具有相同或更新版本的任何JVM來執行。

不,那不是,但你沒有什么可擔心的.Java是一個標准化的平台,你應該能夠編譯並運行它的任何實現。 只要你記住這個版本。 Java 7軟件不會完全在Java 6安裝上運行。 Java 6軟件完全適用於Java 7安裝。

如果您已經為Java 1.6編譯,則至少需要OpenJDK 1.6。 在極少數情況下,Hotspot和OpenJDK不同,但由於Hotspot基於OpenJDK,因此您更有可能看到構建版本中的細微差別。

兩個JVM都符合JLS規范,而IMHO實際上是參考實現。 OpenJDK是開放標准,HotSpot被廣泛用作商業標准。 這些版本幾乎完全相同。

如果這是一個真正的問題,你可以在Ubuntu上安裝相同版本的Hotspot。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM