使用Ubuntu等Linux发行版修复Java问题的标准方法是“使用Sun JDK而不是OpenJDK”。出于几个原因,我想使用Ubuntu的Java运输,而不必从合作伙伴存储库安装和下载或下载tarball。
我在Ubuntu 11.10下玩了一些Eclipse 3.7.1并没有找到任何明显的showstoppers。
问题是:在Ubuntu上是否有任何无法正常使用(EDIT:OpenJDK)Java的默认安装,或者我应该注意哪些内容?
答案 0 :(得分:3)
现在,OpenJDK 7是Java的标准实现。 Oracle JDK 7构建于openjdk7代码之外,但Java规范中未包含的一些其他功能除外
所以不应该有性能差异(我看不到它)。 Ubuntu 11.10在存储库中有openjdk7。
否则Openjdk6真的比SunJDK6慢。因此,如果您需要使用jdk6,最好切换到Sun JDK6
答案 1 :(得分:3)
我在Ubuntu 11.10上使用openjdk6的各种插件(Android Update)遇到了很多问题。 Sun JRE'刚刚解决'问题。
我不能只更新到java 7,因为我正在使用Android开源(AOSP),它不支持使用java 7进行编译。它只支持使用openjdk6进行构建。
有时出血的边缘正在流血。现在我将继续使用Sun JDK 6.它的参考实现似乎“正常工作”。这就是我想要的。这些是我的工具,我的主要目的不是在使用前调试我的工具。
对于OpenJDK人来说,感谢他们99.9%。一旦其他人赶上了他们,生活就会很棒。
哦,Oracle可以填充许可证,导致许多这些问题。拉里不需要另一艘船。
-JZ
答案 2 :(得分:0)
并不是“Ubuntu上的Java默认安装没有正常工作”。我在Ubuntu和Fedora Core上经常使用OpenJDK,从未遇到过bizzare错误。
然而,这是一个很大的“但是”,如果你使用像Hibernate这样的花哨框架或一些Spring的东西(比如AspectJ的东西),它们会做异国情调的非标准内容(比如字节码修改,动态重新编译等)等等,你会遇到OpenJDK的麻烦,但它们都可以与Oracle / Sun JDK一起使用。在进行这种开发时,我总是从OpenJDK切换到Oracle JDK。