OpenJDK - 准备生产?

时间:2012-02-18 19:06:58

标签: java openjdk

想知道是否有人从Sun / Oracle JDK切换到OpenJDK?

生产准备好了吗?版本7发行版与Oracle版本有何不同?

4 个答案:

答案 0 :(得分:11)

OpenJDK是否为生产就绪问题的答案可能取决于您的应用程序工作量。在Azul Systems,我们围绕OpenJDK推出了Zulu产品,旨在通过OpenJDK支持生产工作负载。

为此,我们准备自己的OpenJDK二进制发行版,在Windows和Linux平台上针对相关Java SE标准(即6,7和8)的技术兼容性工具包(“TCK”)进行测试,然后在各种应用场景中运用它们:Java EE应用服务器,GUI应用,基准测试,虚拟化和云上下文,调试器等。

到目前为止,OpenJDK正在承担多种类型的工作负载。 OpenJDK和Hotspot之间仍然存在一些差异,这些差异可能与您自己的工作负载和应用程序设计有关,也可能没有,例如浏览器JRE插件和Java Web Start在Hotspot中,但在OpenJDK中没有。 OpenJDK中的核心JVM仍然非常相似:相同的解释器,相同的C1和C2编译器,相同的垃圾收集器,相同的源编译器和类API层次结构,以及类似的基本工具。许多剩余的差距源于障碍,这意味着Oracle JDK中存在的项目无法通过其最初的包含和许可证影响而开放。

为了回应“Java 7准备就绪”,鉴于其源代码通过IcedTea开源项目的演变,OpenJDK 6中的差异确实可能最为明显。 OpenJDK 7和OpenJDK 8在GA开始时非常相似,然后在整个维护周期中变得不同,其中安全修复定期流入OpenJDK,以及当Oracle进行季度关键补丁更新时的大批量修复。此外,有价值的源代码更改和修复到8和9存储库中的6和7的后端在整个生命周期中不断发生。好的代码是很好的代码。

在考虑生产操作时,您可能还需要考虑对JVM和JDK的技术支持。虽然Zulu本身是免费的,但如果您的生产环境需要支持,Azul将通过Zulu Enterprise产品的不同层级提供基于费用的技术支持。

Zulu和Zulu Enterprise在Azul网站上有描述: http://www.azulsystems.com/products/zulu

免责声明:我是Azul Systems的Zulu和Zing产品的产品经理。

答案 1 :(得分:9)

OpenJDK仍然存在可能影响您的运营的回归。例如,请参阅:Memory error when trying to change Apache Tomcat port from 8080 to 80

OpenJDK不能被视为Sun Java的替代品,请仔细测试您的应用程序。

编辑:为清楚起见,提到的问题是由于与Sun Java相比,OpenJDK的内存使用量略有增加(不多,但足以在这种情况下产生内存问题)。

答案 2 :(得分:3)

在我们的生产环境中,我们开发了一些JavaEE应用程序,我将JDK更改为OpenJDK,一切运行良好。

答案 3 :(得分:1)

在所有需要jvm的情况下,我一直使用java-1.8.0-openjdk作为CentOS 7堆栈的一部分。我一直在使用Elasticsearch,Hadoop的各种设置,也作为Eclipse(Luna)的基础。在实验室中使用这些应用程序数月后,我没有看到任何问题。据我所知,它表现完美无瑕。