OpenJDK - 准备生产?

YaO*_*aOg 13 java openjdk

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

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

Mat*_*tze 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产品的产品经理.


Emm*_*urg 9

OpenJDK仍然存在可能影响您的运营的回归.请参阅示例:尝试将Apache Tomcat端口从8080更改为80时出现内存错误

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

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