QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

专访 Martijn Verburg,关于 AdoptOpenJDK 与 Nestmates

  • 2018-06-11
  • 本文字数:2374 字

    阅读完需:约 8 分钟

InfoQ 在之前发布的一篇新闻中提到, AdoptOpenJDK 项目近期已正式发布其构建平台,以免费软件的形式提供社区版的 OpenJDK 二进制包。

InfoQ 近期对 Martijn Verburg 进行了一次专访,Martijn 是伦敦 Java 社区的领导人、AdoptOpenJDK 的联合创始人之一、同时也是 jClarity 的 CEO。专访的内容包括 AdoptOpenJDK 构建平台的整体目标、早期功能的编译包、对于 Nestmates 和 Java 11 的看法、AdoptOpenJDK 在 2018 年的发展计划,以及开发者如何参与这一项目的方式。

InfoQ:能否请你简单地介绍一下你本人、你在 AdoptOpenJDK 项目中担任的角色,以及 AdoptOpenJDK 整体的目标是什么?

Martijn Verburg:我是 Martijn Verburg (又名"魔鬼开发者"),目前是 jClarity 的 CEO,同时也领导着几个 Java 生态圈内的创新项目的开发 ,例如 AdoptOpenJDK。我本人在项目中是负责制订 AdoptOpenJDK 构建平台发展战略的团队成员之一,同时也指导着近 300 位志愿者为完成构建平台的共同目标所努力。另外我也会进行一些技术工作,例如编写编译脚本和文档,这多亏了那些比我更胜任的工程师们的指导才能完成!

AdoptOpenJDK 早期的目标是作为 OpenJDK(基于 Java 的开源系统)的拥护者而启动的一个上架(onboarding)项目,它目前仍然扮演着这一角色。不过,最近这段时间它更注重于为 OpenJDK 提供一个长期的、稳定的构建平台(并提供通过专业测试的 Java 二进制包)。

InfoQ:AdoptOpenJDK 的构建平台已正式投入使用,以免费软件的形式生成社区版的 OpenJDK 二进制包。这个构建平台的整体目标是什么呢?

Verburg:这个平台的目标是让几百万 Java 开发者始终能够获得经过专业测试的 Java 二进制包,并且保障至少提供 4 年的免费长期服务(LTS)计划。这意味着 Java 开发者可以安心地继续使用 Java,而无需担心许可或是对它的长期支持等问题。对那些更愿意享受商业支持便捷性的企业来说,仍然可以在 Oracle、IBM、Azul 和 Red Hat 等厂家之间进行选择。

另一个重要的原因是,我们希望 Java 能够继续遵守它"一次编写、到处运行"的承诺,即便是在 Linux x86、Mac OS X 和 Windows 等主流平台之外。因此,我们提供了多种构建脚本和构建节点,以支持 zOS、AIX、Linux z390、ARM 32 位和 64 位等平台。

最后还有重要的一点,我们希望通过为 Valhalla 和 Amber 等实验性项目提供早期版本构建产物的方式,为支持 OpenJDK 本身的开发做出一点贡献。

在 AdoptOpenJDK 网站上的"关于"页面中介绍了该项目的更多细节。

InfoQ:能否请你介绍一下 “OpenJDK amber with Hotspot” 这个构建选项的内容,以及其中一些特别的特性,例如原始字符串字面量(raw string literal)等等?开发者是不是很快会看到其余的 Amber 项目的特性和构建选择,例如 Switch 表达式、Lambda Leftovers 等等?

Verburg:Amber 项目中的 raw-string-literals 分支提供了一个对 JEP 326 规范的早期实现。我们在 3 个主流的平台上都提供了支持,开发者可以提早试用,为 OpenJDK 团队提供早期的反馈。

近期内,我们还会添加一些新的分支,加入你所提到的新特性!

InfoQ:你对于 Java 虚拟机规范中允许通过“nestmate”类访问私有类成员的这一提议有什么看法?

Verburg:无论是对于安全性,还是对于减少开发者的困扰来说,这都是一个虽不起眼,但意义重大的 Java 改进。目前,JVM 还只能通过创建 bridge 的方式让声明在同一个文件中的多个类共享控制访问。按 JEP 所说:“这种 bridge 方式破坏了类型的封装性,稍许增大了部署应用包的体积,并且造成了使用者与工具的困惑!”。为了支持值类型这种大更新,还有许多其他小的内部 JEP 相关特性需要完善。

我很乐意于看到这种特性的出现,它提升了 Java 的安全性。更重要的是,它为 OpenJDK 团队处理更大、更困难的问题提供了额外的参考信息与知识。

InfoQ:你对于 Java 11 的看法是什么?它为开发者带来了哪些功能?

Verburg:它带来了一些非常重要的变化,包括(但不限于)以下内容:

  • Aarch64 (ARM 64)平台上的性能改进 —— 对于这个快速发展的平台而言是个好消息
  • ZGC 垃圾回收器的早期发布版本,它的特点是对于超大的堆的垃圾回收降低了延迟,与目前 Azul 的商业版本 Zing JVM 的功能相类似。
  • 去除了 Java EE 和 CORBA 模块(开发者需要在构建工具中替换为对应的第三方库)
  • 全新的 HTTP2 客户端功能,实在是拖延了太久了!现在已经可以看到一些基于 HTTP2 创建的第三方 WebSocket 和 HTTP 库了。
  • Flight Recorder (JFR)已实现开源,可在生产环境中无限制使用。这对于 JVM 的性能监控来说是件大好事!

此外,还有一部分变更已计划随着 Java 11 推出。

InfoQ:AdoptOpenJDK 项目在 2018 年有哪些计划?

Verburg:对 Java 8 和 11 的二进制版本进行全面的测试并通过 TCK 兼容性验证,支持全部主流平台和大部分的小体量平台,并且提供 4 年的长期服务(LTS)许可。

InfoQ:感谢你能够参与今天的专访,你还有什么想法要与 InfoQ 的读者分享么?如果读者想要参与 AdoptOpenJDK 项目,最好的方式是什么?

Verburg:我相信,对于 Java 的长期发展来说,AdoptOpenJDK 的构建平台将扮演一个重要的角色。同时,它也是你学习现代化构建、测试与部署环境的一个好去处,对于你的职业发展大有裨益!加入项目的最佳方式是通过 Slack 频道 —— 已经有约 300 名志愿者加入了我们,一起组织各种丰富的活动,包括底层的 shell 脚本编写、网站设计、文档编写、市场宣传和推广,以及很多我没有提到的活动。

InfoQ 上的相关文章也介绍了 Nestmates 和 AdoptOpenJDK 的更多信息:

  1. Java Nestmates 稳步推进
  2. 社区 OpenJDK 代码构建平台投入使用

读者也可以关注 InfoQ 上的 Java 专栏主页,以了解 Java 方面的新闻动态。InfoQ 上的相关文章也介绍了 Nestmates 和 AdoptOpenJDK 的更多信息:

查看英文原文: Q&A with Martijn Verburg on AdoptOpenJDK and Nestmates

2018-06-11 14:562056
用户头像

发布了 428 篇内容, 共 180.5 次阅读, 收获喜欢 39 次。

关注

评论

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

2023年Java面试正确姿势(1000+面试题附答案解析)

Java编程日记

Java 架构 后端 java程序员 java面试

电信NB-IoT设备对接阿里云IoT平台实战——实践类

阿里云AIoT

大数据 监控 物联网 存储 数据格式

CVE-2022-22947 SpringCloud GateWay SPEL RCE 漏洞分析

墨菲安全

漏洞分析 软件供应链安全

墨菲安全参与信息通信软件供应链安全社区成员大会并获自主研发创新成果奖

墨菲安全

供应链安全 安全情报

工业数字孪生:西门子工业网络与设备虚拟调试案例(TIA+MCD+SINETPLAN)

工赋开发者社区

代码的发展与终结

SoFlu-JavaAI开发助手

AntDB数据库再获奖,亚信安慧被评为“2022 PostgreSQL中国最佳创新企业”

亚信AntDB数据库

数据库 AntDB 国产数据库 AntDB数据库 企业号 2 月 PK 榜

行业分析| OA系统中的实时通讯

anyRTC开发者

音视频 远程办公 视频会议 视频通话 OA

脑洞|ChatGPT加持下,ChatOps将如何革新团队协作与运维管理?

极狐GitLab

团队管理 DevOps 团队协作 ChatOps ChatGPT

TDengine 发布主流时序数据库对比分析报告,与 InfluxDB、TimescaleDB 展开全面对比测试

TDengine

tdengine 时序数据库 数据库·

基于 IoT物联网 + 表格存储DB + DataV 搭建实时环境监控大屏——实践类

阿里云AIoT

数据库 监控 物联网 存储 数据可视化

LoRaWAN设备接入阿里云IoT企业物联网平台实战——实践类

阿里云AIoT

物联网 传感器

软件供应链受威胁下的应对方法——供应链安全管理平台的五大工具能力

墨菲安全

SCA 供应链安全

数字经济赋能乡村建设,助力乡村全面振兴

加入高科技仿生人

低代码 数字经济 乡村振兴 农村

Python基础练习题(一)

漫步桔田

【监控运维】消息轨迹全景图详解-独门秘籍——实践类

阿里云AIoT

运维 监控 物联网 数据可视化 消息中间件

当 Amazon Lambda 遇上 Apache APISIX 可以擦出什么火花?

API7.ai 技术团队

AWS api 网关 Lambda s APISIX

大前端CPU优化技术--SIMD技术

江湖修行

simd neon

CVE-2023-23752 Joomla未授权访问漏洞分析

墨菲安全

漏洞分析 软件供应链安全

聊聊 HTAP 的前世今生

墨天轮

数据库 OLAP TiDB OLTP HTAP

云小课|MRS数据分析-通过Spark Streaming作业消费Kafka数据

华为云开发者联盟

大数据 数据分析 华为云 企业号 2 月 PK 榜 华为云开发者联盟

和狂飙的 ChatGPT 聊聊软件开发的现在与未来

极狐GitLab

DevOps 研发效能 DevSecOps 极狐GitLab ChatGPT

智多星RPA重塑业务流程,全面赋能企业商业创新

YonBuilder低代码开发平台

一图读懂 | ChatGPT热潮背后,金融行业大模型应用路在何方?——金融行业大模型应用探索

易观分析

金融 科技

如何通过Java 代码设置 Word 文档页边距

在下毛毛雨

C# .net word文档 页边距

设备上报二进制数据在 IoT 平台解析实践——实践类

阿里云AIoT

小程序 监控 物联网 传感器 测试技术

ZBC通证月内已翻倍,Nautilus Chain 上线前夕的“开门红”

西柚子

IoT物联网设备端硬件上云技术方案详解——实践类

阿里云AIoT

物联网 存储 开发工具 数据采集 传感器

低代码选型,论协同开发的重要性

葡萄城技术团队

Python 基础练习题(二)

漫步桔田

Tapdata 和 Databend 数仓数据同步实战

Databend

专访Martijn Verburg,关于AdoptOpenJDK与Nestmates_Java_Kesha Williams_InfoQ精选文章