Java 11
在企业中,Java的不同版本使用情况随着时间在不断变化。根据最新的数据报告,以下是一些关键点:
-
Java 11 和 Java 17 成为企业中最常用的长期支持(LTS)版本,使用率分别为 48% 和 45%,而 Java 8 以 40% 的使用率位居第三 。
-
Java 11 已经成为新的行业标准,其生产中的使用率首次超过了长期占据主导地位的 Java 8 。
-
Java 14 成为最受欢迎的非LTS版本,尽管非LTS版本的使用率相对较低,只有大约 2.7% 的应用程序在使用非LTS Java版本 。
-
Oracle JDK 的市场份额正在逐年下降,而 Amazon Corretto 的使用率急剧上升,从 2020 年的 2.2% 上升至 2023 年的 31%,尽管在 2024 年有所下降至 18% 。
-
Eclipse Adoptium 的采用率也在增长,从 12% 上升到 18%,成为社区管理的JDK中的后起之秀 。
-
容器化应用程序 已经成为主流,据 New Relic 调研显示,70% 的 Java 应用来自容器 。
-
G1 垃圾收集器 仍然是使用 Java 11 或更高版本的用户的最爱,65% 的客户使用它 。
这些数据表明,尽管Java版本更新频繁,但企业在采用新技术方面往往更为谨慎,倾向于使用经过时间验证的稳定版本。同时,随着容器化和云服务的普及,Java生态系统也在适应这些变化,以满足企业的需求。
开源平替
Oracle JDK的商业策略上做出调整上,无疑是将大部分用户推向开源侧,对于寻求Oracle JDK的开源替代方案的企业来说,有几个不错的选择可以考虑:
-
Amazon Corretto:亚马逊提供的长期支持的OpenJDK发行版,适用于需要在AWS环境中运行Java应用的企业。Corretto JDK经过TCK测试,支持Linux、Windows和macOS。
-
Azul Zulu:由Azul Systems提供,是Oracle JDK的一个流行的替代品。Azul Zulu Builds是构建在OpenJDK之上的,提供长期支持并且与Java SE标准兼容。
-
Eclipse Temurin:Eclipse Foundation提供的OpenJDK发行版,也是Oracle JDK的一个优秀替代品。它提供了免费的下载和使用,并且有定期的更新和支持。
-
AdoptOpenJDK:由伦敦的AdoptOpenJDK项目提供,是一个社区驱动的OpenJDK发行版。它提供了免费的下载和使用,并且有多个版本和不同的操作系统支持。
-
Red Hat OpenJDK:红帽提供的OpenJDK发行版,适用于需要在Red Hat环境下运行Java应用的企业。它提供了长期支持和企业级的稳定性。
-
Liberica JDK:由BellSoft提供,是一个免费的、开源的Java开发工具包。它通过了TCK的Java SE规范验证,支持大多数Linux发行版、Windows、macOS和Solaris。Liberica JDK基于OpenJDK,提供了很多安全以及功能更新和性能优化,非常适合云原生架构中使用。
OpenJDK
企业在选择替代品时,应考虑支持、稳定性、性能、兼容性以及长期维护等因素。可以看出,上述发行版多是基于OpenJDK之上,新构建的产品,OpenJDK与OracleJDK有何关联呢?
OpenJDK是Java SE的一个开源实现,由Oracle赞助和领导,遵循GNU General Public License (GPL)第2版(包括一些例外情况)。它为希望免费使用Java平台的个人和组织提供了一个选择。尽管OpenJDK在功能上与Oracle JDK相似,但两者之间存在一些差异,这可能影响企业的选择:
-
授权协议:OpenJDK基于GPL V2协议,允许商业使用,而Oracle JDK遵循JRL协议,主要限于个人研究使用。
-
Deployment功能:OpenJDK不包含Deployment功能,如Browser Plugin、Java Web Start和Java控制面板。
-
源代码完整性:某些Oracle JDK的源代码由于版权问题并未包含在OpenJDK中,如JMX中的SNMP部分。
-
性能和稳定性:Oracle JDK通常被认为在稳定性和性能方面更优,而OpenJDK可能在这方面稍逊一筹。
-
商标使用:Oracle JDK可以合法使用“Java”商标进行宣传,而OpenJDK则不能。
-
商业支持:Oracle JDK提供商业支持服务,而OpenJDK主要依靠社区支持。
尽管存在上述差异,许多企业和组织仍然选择使用OpenJDK,特别是随着Oracle对Java SE的商业化策略调整,OpenJDK的受欢迎程度有所增加。一些企业可能会选择OpenJDK的定制版本或由第三方提供的OpenJDK发行版,例如Amazon Corretto、Azul Zulu、Red Hat OpenJDK、Alibaba Dragonwell、Huawei毕昇JDK、Tencent Kona JDK等,这些发行版通常提供额外的商业支持和增强功能。
企业在选择OpenJDK时,应考虑其业务需求、技术支持、性能要求和合规性等因素。对于寻求免费且开源的Java平台的企业,OpenJDK及其各种发行版是可行的选择。