【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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:471859
用户头像

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

关注

评论 1 条评论

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

贾斯特里尼&布鲁克斯葡萄酒,贵族品质值得选择

联营汇聚

【Go实现】实践GoF的23种设计模式:命令模式

元闰子

Go 设计模式 命令模式

提升游戏玩家体验,华为云CDN加速了解一下

秃头也爱科技

Team Lead 的日常工作

QE_LAB

敏捷团队

Dubbo架构设计与源码解析(三)责任链模式

京东科技开发者

dubbo 过滤器 filter 责任链 provider

使用HTTP工作的Web服务器

穿过生命散发芬芳

web服务器 12月月更

极速畅享网络体验,华为云CDN加速一通到底

秃头也爱科技

阿里灵杰:与开发者一起推动AI创新落地

阿里云大数据AI技术

人工智能 阿里云 开发者 AI技术

搭建"积木"=编程?

间隔

跨平台应用开发进阶(四十二)vue与nvue页面设计方案探究

No Silver Bullet

uni-app Vue 12月月更 nvue

AI技术实践|用腾讯云智能文本图像增强打造一个掌上扫描仪

牵着蜗牛去散步

人工智能 腾讯云 文字识别 图像处理

3ds Max云渲染平台哪个好?

Renderbus瑞云渲染农场

云渲染 3dsMax云渲染平台哪个好

贾斯特里尼&布鲁克斯葡萄酒,绿色酿酒传承百年

联营汇聚

JavaScript基础:在Jupyter Notebook中操练

无人之路

JavaScript Jupyter Notebook

JavaScript进阶(十三)JavaScript 空值合并运算符、可选链操作符、空值赋值运算符讲解

No Silver Bullet

JavaScript 12月月更 空值合并运算符 可选链操作符 空值赋值运算符讲解

【重磅干货】如何构建 API 生态促进企业上下游合作

石臻臻的杂货铺

API

企业云上安全办公,就用华为云桌面

爱科技的水月

软件设计中最关键的“开闭原则”,究竟指什么呢?

JAVA旭阳

架构 后端

金融科技 DevOps 的最佳实践

SEAL安全

DevOps 最佳实践 FinTech 12 月 PK 榜

2022-12-22:给定一个数字n,代表数组的长度, 给定一个数字m,代表数组每个位置都可以在1~m之间选择数字, 所有长度为n的数组中,最长递增子序列长度为3的数组,叫做达标数组。 返回达标数组的

福大大架构师每日一题

算法 rust 福大大

想在“互联网信息高速公路”顺畅通行,华为云CDN来助力

秃头也爱科技

跨平台应用开发进阶(三十八)uni-app前端监控方案:基调听云APP探究

No Silver Bullet

uni-app 前端监控 12月月更 基调听云APP

设计企业如何降低设备成本?来试试华为云桌面吧!

爱科技的水月

法国名酒贾斯特里尼&布鲁克斯,俘获皇室贵族的葡萄酒

联营汇聚

中移链已在BSN-DDC基础网络上线元交易功能

BSN研习社

BSN-DDC

【12.16-12.23】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动

绿色高效办公,华为云桌面不可或缺

爱科技的水月

色彩精准、数据安全,华为云上的超高清设计师云工作站给你新体验

爱科技的水月

华为云大数据BI,赋能数字化企业加速发展

秃头也爱科技

阿里巴巴最新出版的 Java 面试参考指南(泰山版)开源了!

架构师之道

编程 程序员 java面试

Java本地高性能缓存实践

阿里技术

cache 本地缓存 缓存Java

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