在生产中使用Java 11:需要了解的重要事项
来源:SpringForAll社区
如果您正考虑更新最新版本的Java,阅读本文以了解有关Oracle Java 11的最重要信息。
如果您及时了解Java社区的新闻,您可能听说Oracle改变了他们对Java的支持模s式。有些谣言甚至暗示我们现在必须付钱才能使用Java - 这不是真的!
这个主题非常复杂,因为自Java 8发布以来已经有许多重叠的变化。新的六个月发布节奏和Oracle在许可和支持模型上的变化意味着任何部署Java的组织都应借此机会来看看:
从哪里获得JDK(e.g. Azul, IBM, Oracle, Red Hat, or other OpenJDK build)
生产上使用java版本
他们是否希望获得这些Java版本的更新(例如补丁和安全修复程序)
将来希望使用哪些版本
他们想要更新Java版本(即下一个主要版本)的频率
他们期望为他们的版本提供什么样的支持(即分类和错误报告)
Oracle JDK变化
在过去,我们只是简单地下载了Oracle的JDK,并在开发,测试和生产中使用它。从Java 11开始,Oracle已经改变了他们的JDK许可证,它们不再是单一的JDK构建,而被分为商业使用(即付费支持)或免费(我们大多数正在做),它们现在有两个不同的JDK构建:
Oracle's JDK (商业)-在开发和测试中可以免费使用,在生产中使用必须付费
Oracle's OpenJDK (开源免费)- 你可以在任何环境中,像使用任何开源库一样免费使用。
注意,自Java 11以来,Oracle的商业JDK和Oracle的OpenJDK版本在功能上是相同的。因此,我们的应用程序无需进行任何更改或丢失任何功能,并在任何一个上都能运行。
支持与更新
这两个版本之间存在重要区别 - 如果使用的是Oracle的商业JDK,将获得更新和支持。如果使用的是Oracle的OpenJDK版本,Oracle将不会为以前的版本提供更新。这意味着现在Java 11已经出局,Oracle将不再为10或9更新他们的OpenJDK版本。因此,如果您使用的是Oracle的OpenJDK版本,那么您应该准备好更新他出来的每个新版本的Java(或运行一个不会得到更新的旧版本)。
话虽如此,Oracle并不是这场竞赛中唯一的供应商。多年来,我们已经习惯了使用他们的免费JDK,因此,它通常是我们的默认设置,但是还有其他供应商提供JDK,他们有不同的支持模式(免费和付费)以及对Java不同版本的提供更新的不同的态度。例如,其中一些供应商可能会继续为Java 9(Oracle不会)提供更新和/或支持。
Stephen Colebourne撰写了一篇文章,总结了来自不同供应商的不同JDK版本,并解释了所有这些供应商如何(以及为什么)为相同代码(即OpenJDK)提供不同版本。
加入您不想使用任何一个Oracle JDK版本(例如,如果他们的支持或更新策略不适合您),请了解一下Azul,IBM,Red Hat和社区主导的AdoptOpenJDK代替提供的内容。
结束语
这个摘要是我在9月份的Annotated Monthly中写的,更新反映了Java 11的发布:
您仍然可以免费下载商业Oracle JDK,并在开发/测试环境中免费使用它。
Oracle的JDK 8自2019年1月之后将不再接收公共更新。如果您希望接收Java 8的更新,您可能需要向Oracle支付费用或寻找另一个JDK版本。
自从提出六个月的发布周期,Java“旧”版本(包括9和10)的持续支持和更新已发生变化。
由于Oracle的商业许可JDK,不再更新或支持Java 9和Java 10。如果您当前正在使用Oracle的JDK,则需要查看正在使用的版本以及您希望将来使用的版本,如果要在生产中使用它,则需要了解Oracle的支持模型(和价格)。
如果使用OpenJDK,您可能需要尽快升级到最新版本,这具体取决于您使用的是哪个供应商的版本。这个建议几乎适用于任何免费的开源库或框架。
其他供应商可能会对Java 9或其他版本提供支持。
如果您希望对生产中运行的Java版本提供完全支持或更新,则应比较和对比Azul,IBM,Oracle和Red Hat的支持模型和价格。请注意,这些公司总是免费提供服务和支持,但这些都不是新的。
更多信息
Java is Still Free (Java Champions) -如果你只想读一篇文章,那应该是这个。Java Champions曾深入探讨这个主题,Java Champions是一个独立专家组织(完全披露:这篇博文的作者也是Java Champion一员)。该文件也已经过主要供应商的代表检查,因此您可以确信信息是正确的。它也有西班牙语版本。
A Quick Summary on the new Java SE Subscription (Oracle)
Oracle JDK Releases for Java 11 and Later (Oracle)
The future of Java and OpenJDK updates without Oracle support (Red Hat)
Eliminating Java Update Confusion (Azul)
Java is still available at zero-cost (Stephen Colebourne)
The Future of Java / OpenJDK and How it Impacts You! (Video: Virtual Java User Group)
原文链接:https://dzone.com/articles/using-java-11-in-production-important-things-to-kn
作者: Trisha Gee
译者:Emma
·END·
近期热文:
可能是最全面的G1学习笔记
Spring Cloud Stream消费失败后的处理策略(四):重新入队(RabbitMQ)
想通关「限流」?只要这一篇
面试题:如何求根号2
Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)
点击“阅读原文”,看本号其他精彩内容