50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

Amazon Corretto 技术细节探秘

  • 2018-11-27
  • 本文字数:3418 字

    阅读完需:约 11 分钟

Amazon Corretto技术细节探秘

在比利时安特卫普举行的 Devoxx BE 大会上,亚马逊发布了Corretto预览版,这是 Java 的一个参考实现,一个“免费、跨平台、生产就绪”的 OpenJDK 版本。在开幕主题演讲中,Java 语言创始人 James Gosling 宣布 Corretto 可以作为所有 Java SE 发行版的直接替代品,但使用了 OpenJDK 中没有的功能的场景除外(例如Java Flight Recorder)或当前正在非 HotSpot JVM 上运行的工作负载。亚马逊计划在 2019 年将 Corretto 作为亚马逊 Linux 2 的默认 OpenJDK。


Corretto 8 的预览版本对应于 Java 8,二进制安装文件目前可在 Amazon Linux、macOS 和 Windows 上安装。GA 版本计划于 2019 年第一季度推出,并将增加对 Ubuntu 和 Red Hat Enterprise Linux 的支持。亚马逊将至少在 2023 年 6 月之前为 Corretto 8 提供免费的安全更新。对应于 OpenJDK 11 的 Corretto 11 将于 2019 年上半年推出。亚马逊至少在 2024 年 8 月之前为 Corretto 11 提供每季度更新。



AWS 首席开源技术专家 Arun Gupta 在 AWS 开源博客上发布公告称,Java 是 AWS 客户使用的最流行的语言之一,亚马逊致力于支持 Java 并保持 Java 免费。


我们正在向客户提供免费、长期支持的 Java,并提供季度更新,包括错误修复和安全补丁。AWS 还将在季度计划之外为客户提供紧急修复。


在 Oracle 最近宣布改变 Java 产品支持策略之后——主要是移除 Java 的免费长期支持(LTS)——很多亚马逊客户开始担心他们必须为 LTS 版本的 Java 支付费用才能运行他们的工作负载。之前,亚马逊确认亚马逊 Linux 中的 LTS 版本 Java 将继续获得支持,现在开始跟进 Corretto 的预览版。


在 Devoxx BE 的分组讨论会上,Gupta 与 AWS JDK 团队经理 Yishai Galatzer 进行了交谈。两人谈到,Corretto 8 包括来自较新 OpenJDK 版本的反向移植,以及来自社区和亚马逊新开发的增强功能。发布过程包括对数千种 Amazon 生产服务进行测试,因此修复程序可以在发现问题后的几天内发布。亚马逊还在每个 Corretto 版本上运行Java技术兼容性工具包(TCK),以确保与 Java SE 平台的兼容性。


Corretto 中包含的额外补丁和改进是在当前的 OpenJDK 上游代码库之外,这些改进让亚马逊能够“解决真实的大规模服务问题,满足高性能和可扩展性需求”。这些补丁包括:[C8-1]当长时间运行的本机调用导致 G1 GC 挂起,防止过早抛出 OutOfMemoryException;[C8-2]从 OpenJDK 10 反向移植,修复了JDK-8177809:“File.lastModified()丢失毫秒精度(总是以 000 结尾)”;[C8-17]在使用 gcc7 时,提高 JVM 源代码的可移植性。


亚马逊最近已经开始参与贡献 OpenJDK,Gupta 的博文称“我们期待与 OpenJDK 社区密切合作,共同开发 OpenJDK 8 和 11 的未来增强功能”。他说,“我们在下游为 OpenJDK 提供修复,根据我们自己的经验和需求添加增强功能,然后构建成 Corretto”。不过,这确实增加了上游 OpenJDK 代码库和 Corretto 之间存在微妙差异的可能性。


如果针对这些补丁的努力被延迟或不适合 OpenJDK 项目,我们会将它们提供给我们的客户,只要能够为客户带来价值。如果在 OpenJDK 中使用了不同的方式解决问题,我们将在安全的情况下采用他们的解决方案。


在安装好 Corretto 二进制文件后,用它来运行 Java 应用程序,“现有的命令行选项、调整参数、监控和其他内容将继续像以前一样保持不变”。但前提是需要通过 HotSpot JVM 执行应用程序,并且如果当前正在使用其他的 JVM,例如Eclipse OpenJ9,那么一些命令行选项可能不兼容,需要做出修改。Devoxx 的参会者问在未来是否支持其他 JVM,Galatzer 表示,目前只有 HotSpot 将与 Corretto 捆绑在一起。


Corretto 的源代码可以通过 GitHub 获得,InfoQ 与 Gupta 取得了联系,问他该项目是否接受来自社区中的提取请求和补丁。


是的。有关 Corretto 的拉取请求可以通过https://github.com/corretto提交。任何与 OpenJDK 相关的问题都需要根据 OpenJDK 贡献者协议提交到相应 OpenJDK 代码库中,让整个社区都可以从修复中受益。在向 OpenJDK 提交代码后,我们建议再与 Corretto 团队就提交的问题展开讨论,并确定创建新的 Corretto PR 是否有助于加速修复。


他还指出在 Corretto 和 OpenJDK 上提交 bug 的公开程序:


OpenJDK 相关的 bug 应该提交到 OpenJDK 代码库中,然后在 Corretto 上提供该 bug 的链接。这是为了让整个社区都知道与这个 bug 相关的代码或想法。如果存在只与 Corretto 相关的构建脚本、文档和工件相关的问题,那么应该将问题提交到https://github.com/corretto


HackerNews 和 Twitter 上针对发布公告的讨论,例如,Java Champion 及 Joda-Time 的作者 Stephen Colebourne 比较关注 Corretto 版本的发布周期。Gupta 证实,目前只支持与 OpenJDK 的 LTS 版本相对应的 Corretto 版本:


目前,我们计划遵循 Oracle 的 LTS 发布周期。因此,除了 Corretto 8 和 Corretto 11 之外,下一个 LTS 版本将是 Corretto 17。


OpenJDK 的其他版本也可用,包括Oracle的JavaRed Hat的OpenJDK构建版本,以及来自AdoptOpenJDK组织的社区构建版本。AdoptOpenJDK 致力于促进 OpenJDK 的采用,一股来自民间社区的力量,由一系列商业组织、Java 用户组和 Java 开发者组成。InfoQ 联系到了 Java Champion、LJC 和OpenJDK Build Farm项目的负责人 Martijn Verburg,询问了他对发布公告的看法:


亚马逊宣布 Corretto 是对 OpenJDK 作为生产环境中可行的运行时的额外认可!我认为很多保守组织会看到这一点,他们会说“如果亚马逊、IBM、Red Hat 等正在使用 OpenJDK,那么我也就没有什么疑虑了!”


InfoQ 还问到亚马逊是否与 AdoptOpenJDK 合作,Verburg 回答说:


“亚马逊曾经与 AdoptOpenJDK 合作,使用我们的一些脚本和专业知识解决他们的 Windows 和 Mac 安装程序问题,并改进他们的测试。AdoptOpenJDK 的精神一直是关于 Open Infrastructure As Code(请参阅https://adoptopenjdk.net/about.html的第3个要点),我们欢迎亚马逊使用这些资源,我们期待继续与他们合作。”


AdoptOpenJDK 项目的一级赞助商包括 Azul Systems、IBM、LJC、微软 Azure、Ocado 和 Packet,InfoQ 还问到了亚马逊对社区的参与情况以及 Java 生态系统发生碎片化的可能性:


AdoptOpenJDK 还在与亚马逊和其他 OpenJDK 提供商讨论进一步的举措,以缓解对碎片化的担忧。例如,AdoptOpenJDK 有一个开放的测试套件和测试管道(40-60,000 个测试),可用于测试任意的二进制文件。这为所有的 OpenJDK 提供商提供了一个他们可以达成的公共质量标准基础。

为了减少对碎片化的一些潜在担忧,AdoptOpenJDK 将强烈鼓励亚马逊和其他 OpenJDK 提供商将他们的补丁提交给 OpenJDK。亚马逊在他们的常见问题解答中也提到了这种担忧(https://aws.amazon.com/corretto/faqs/


Verburg 还指出 Java 生态系统在商业和业余爱好者中都有广泛的应用,并且认为有必要提供透明的构建过程。


AdoptOpenJDK 仍然是供应商中立的,社区可以生成经过严格测试的 OpenJDK 构建版本,最终用户可以清楚地看到他们所使用的每个二进制文件的构建过程。


他继续说道,亚马逊目前以 Corretto 为目标的平台之外还存在很多其他的硬件架构、操作系统和 Java 版本:


AdoptOpenJDK 将继续支持整个生态系统,提供广泛的平台支持(ARM32/64、Win 32、AIX、Linux s390、PPC 以及 Win、Mac OS X 和 Linux x86)和版本变体(Eclipse OpenJ9 VM、OpenJDK 8,9,10,11、Project Amber 等)。


最后,Verburg 鼓励社区通过为 AdoptOpenJDK 这样的项目作出贡献来共同参与共建 Java 的未来。


我们已经有几百万的下载量,社区成员,如 IBM、Red Hat、Azul、Ocado、SAP、LJC(以及亚马逊)每天都参与其中。在人们看来,这个项目是一个对软件行业具有长久意义的重要公共资源。


现在让我们回到 Gosling 在 Devoxx 上介绍 Corretto 这个话题上,Gosling 向 Java 的咖啡主题历史致敬——Caffè corttto是一种意大利饮料,含有少量白酒的浓缩咖啡——并向 Devoxx 与会者表达了他的激动心情:


亚马逊在 Java 方面有着悠久而深厚的历史。我很高兴看到我们内部的任务关键型 Java 团队的努力正在走向世界。


用户可以在aws.amazon.com/corretto上下载Corretto 8,同时还提供了文档,其中包含一个入门指南,指南中包含了所有受支持平台的完整说明。用户也可以在 stackoverflow 或 Twitter(@awsopen)上提出相关问题。


查看英文原文Amazon Release Corretto: A Multiplatform Java OpenJDK Build with No-Cost Support


2018-11-27 09:472378
用户头像

发布了 731 篇内容, 共 478.7 次阅读, 收获喜欢 2008 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

产品负责人对干系人说‘不’的6条准则

ShineScrum

KaiwuDB 亮相第二十四届中国国际工业博览会

KaiwuDB

KWDB 开源社区走进天津大学

KaiwuDB

九章云极DataCanvas公司荣获2024年服贸会“科技创新服务示范案例”

九章云极DataCanvas

政务公告数据的应用与八爪鱼的实践

八爪鱼采集器︱RPA机器人

爬虫 采集

掌握行业全球新闻,实现产业研究/内容聚合分发/情报采集

八爪鱼采集器︱RPA机器人

爬虫 采集

GitLab 安全漏洞CVE-2024-9164、CVE-2024-8970 等的修复方案

极狐GitLab

gitlab 安全漏洞 CVE CVE 漏洞

见证 RTE 的新篇章丨 RTE 年度场景 Showcase 暨第四届 RTE 创新大赛开幕

声网

YouTube 上线「用相机拍摄」标签为真实视频「验明正身」;美国被曝考虑限制向中东国家出口 AI 芯片丨 RTE 开发者日报

声网

KWDB 正式捐赠给开放原子开源基金会

KaiwuDB

盘点15款国内外社交聆听工具

八爪鱼采集器︱RPA机器人

爬虫 采集

智算筑基,九章云极DataCanvas公司闪耀2024年服贸会

九章云极DataCanvas

采集医药行业数据,赋能企业创新与决策

八爪鱼采集器︱RPA机器人

爬虫 采集

原型设计软件:Axure RP 9(Win&Mac)中文版

你的猪会飞吗

Axure RP 9汉化 Axure RP 9破解版 Axure RP 9授权

AI 赋能大模型:从 ChatGPT 到国产大模型的角逐与发展契机

GPU算力

HPC 算力 高性能计算 LLM 大语言模型

八爪鱼采集在国央企产业大脑的应用:以智慧水务大脑为例

八爪鱼采集器︱RPA机器人

爬虫 采集

大模型后训练时代,“呼唤”普惠算力服务新范式

九章云极DataCanvas

分布式电商项目:天猫 Java 亿级高并发架构设计笔记

程序员高级码农

数据库 高并发 电商 分布式, 消息列队

采集新闻数据,助力产业研究/内容聚合分发/行业研究/舆情监控

八爪鱼采集器︱RPA机器人

爬虫 采集

全面洞察商业情报,助力企业破解增长难题

八爪鱼采集器︱RPA机器人

爬虫 采集

如何在鸿蒙 NEXT 中使用 @Builder 装饰器优化 UI 组件的复用?

威哥爱编程

huawei HarmonyOS ArkTS HarmonyOS框架 HarmonyOS NEXT

采用众包方法进行红队测试 (Red Teaming)

澳鹏Appen

red team 大模型幻觉

精彩回顾 | KaiwuDB 携手信通院举办能源行业数据库研讨沙龙

KaiwuDB

行业融媒体平台建设与八爪鱼

八爪鱼采集器︱RPA机器人

爬虫 采集

鸿蒙 NEXT 如何使用 @Styles 装饰器来优化我的组件代码?

威哥爱编程

华为 HarmonyOS ArkTS HarmonyOS框架 HarmonyOS NEXT

人工智能机器人

天津汇柏科技有限公司

AI 人工智能

Java程序员真的还有未来吗?如何备战2025春招Java面试?并狂拿大厂offer?(java高级岗)

程序员高级码农

Java 面试 架构师 Java’ 面试‘ Java 面试题

第三届OpenHarmony技术大会硬件生态分论坛圆满举办

科技热闻

部署SD-WAN时会遇到什么问题及应对策略

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商 SDWAN SD-WAN国际专线

Amazon Corretto技术细节探秘_编程语言_Daniel Bryant_InfoQ精选文章