澳门新葡亰信誉平台游戏Oracle 计划将 OpenJDK 的源码库迁移至 GitHub

by admin on 2020年3月16日

由于 Oracle 对 Java SE 的商业支持模式的更改,自 Java 11 开始,Oracle JDK
已采用付费商业许可,想要继续免费使用
Java 11 的开发者只能选择 OpenJDK 。OpenJDK 是 Java SE 的开源实现,与
Oracle JDK 没有大的技术差异,目前托管于 Oracle 的 Mercurial 存储库上。

在去年的 Java One 上,Mark Cavage 当时宣布 Oracle 将逐步开源 Oracle JDK
的专有功能(商业特性)。Oracle
Java 平台产品管理高级总监 Donald Smith
曾在一篇博客文章中写道,他们的目的是让
OpenJDK 版本和 Oracle JDK 二进制文件之间没有技术差异。

在上一次 JavaOne 大会之后,首届 Oracle CodeOne
大会最近于美国旧金山举行。周一晚上主旨演讲的头条是“Java:未来已来(The
Future of Java Is Today)”,其中包括:新的每半年发布一次的 Java/JDK
的发布节奏正按计划进行;Oracle 和许多其他组织将继续支持 Java
并为之做出贡献;有几个新的 OpenJDK
项目在探索提高生产力的语言功能,比如,原始字符串字面量(raw String
literals)、纤程和 Continuation、外部函数和数据接口。

今年7月份,JDK 团队发起了一起名为 “Project
Skara”
的意见征集,讨论如何帮助 OpenJDK 贡献者提高效率,找到比 Mercurial
更好的替代品。据
Infoworld
最新消息,3个月过去了,他们似乎更偏向于 GitHub 。 OpenJDK
董事会主席兼 Oracle 的 Java 平台小组开发副总裁 Georges Saab 表示,如果
Java SE 的开发转移到 GitHub
,开发者将可以使用大量的自动化工具。此外,这对于项目组之外的其他 Java
开发者来说也很有用,他们可以访问到用于开发 JDK 的许多源码。

但关于 OpenJDK 和 Oracle JDK
以及其他服务商提供的变种版本,各自的许可证是什么,又都提供哪些服务和支持,让许多
Java 开发者理不清头绪,容易混淆。Oracle 7 月份启用新的 Java SE
订阅模式的消息一出,更是让许多开发者认为是不是代表
Java 以后要收费?

在 Java 平台团队软件开发副总裁 Georges Saab
简短的欢迎致辞后,第一个上台演讲的是 GitHub 的现场维护和支持服务(Field
Services)副总裁 Matthew McCullough。他强调了 Java 平台的开源参考实现
OpenJDK 的重要性,并讨论了“Skara 项目”,该项目是官方 OpenJDK 上游
Mercurial 存储库基于 GitHub 原型的镜像。

Saab 补充道,是否迁移将由 OpenJDK 社区决定,预估时间会在明年3月 JDK 12
发布之时。

为解答 Java 社区的疑惑,超过30位 Java
社区领袖和专家共同创建了一个 Google
文档,里面详细描述了各版本之间的区别,并对一些常见问题进行了答疑。文档分为“短版本”和“长版本”,建议所有
Java 开发者研读。

Skara 项目旨在研究用于 JDK
源代码的源码管理和代码审查的备选项。McCullough
还谈到,大多数“有重大影响力的软件”都是全球协作开发的,并鼓励观众参与开源软件项目。为更好地说明这一目标,他还简单演示了几个
GitHub 的新功能。

澳门新葡亰信誉平台游戏 1

澳门新葡亰信誉平台游戏 2

值得一提的是,Skara 项目还处在早期阶段,目前是独立的,但和社区驱动的
AdoptOpenJDK 项目松散地保持一致。AdoptOpenJDK 项目也是上游 OpenJDK
存储库的镜像,并提供所有最新的和未来的 JDK 版本的构建,目标是为
Java(包括最近发布的 Java 11)的长期支持(Long Term Support,简称
LTS)版本提供四年的构建和最好的社区支持。为 AdoptOpenJDK
项目提供商业支持的有 IBM、Azul Systems,LJC、微软、Ocado Technology 和
Packet。

(文/开源中国)    

文档中强调,开发者仍然可以免费获得 Oracle JDK、Oracle 的 OpenJDK
,以及其他服务商提供的 OpenJDK:

”我自己是一名从事了十余年的后端的老程序员,辞职后目前在做讲师,近期我花了一个月整理了一份最适合2018年学习的JAVA干货(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)从事后端的小伙伴们都可以来了解一下的,这里是程序员秘密聚集地,各位还在架构师的道路上挣扎的小伙伴们速来。“

OpenJDK 社区创建并维护 (GPLv2+CE 许可)
Java SE 规范的开源参考实现(RI),受 JCP(Java Community
Process)管理,并根据 JSR(Java Specification
Request)发布未来每个版本。

有不同服务商提供不同的 Java SE 实现(如 Azul、Eclipse、IBM、Red
Hat、Oracle、SAP 和其他公司),其中最通用的是 Oracle JDK 。

加QQ群:585550789

虽然 Java 11 LTS 已发布,但更多的开发者还停留在上一个 LTS 版本 —— Java 8
。关于开发者最为关注的 Java 8 的许可问题,文档给出了解答:

Saab 重回台上后,讨论了“保留 Java 优点”的相关话题。Java
将继续免费和开源,社区致力于提供平台的完整性,并投资于开发人员生产力和兼容性。在质量和安全上也持续地进行投入,并保持开放和透明的发展。

Oracle 将在2020年12月前为个人桌面用户继续提供 Oracle JDK 8
的公共更新。若是商业用途,则在2019年1月之后不会再有免费的商业版本更新。但是,自
Java SE 9 以后,Oracle 还提供了 OpenJDK
版本,可免费用于商业用途,并且还有其他服务商提供的免费 OpenJDK
版本可供选择,如 AdoptOpenJDK、Azul、IBM、Red Hat、Linux distros 等。

讲到 Oracle 的贡献时,Saab 展示了最近开源的几个之前是商业 Java
平台的功能:在 Java 10 中有应用类数据共享(Application Class Data
Sharing,简称 ACDS);在 Java 11 中有ZGC 项目(用于几千兆堆的低延迟
GC)、飞行记录器和任务控制。

也就是说,如果届时你想继续免费使用 Java
8,你可以:

新的每半年一次的发布计划已经成功交付,它为 Java
平台提供逐步改进,并使开发人员能够更快地访问到新功能,“不再有破坏性的主要版本”(如果计划的功能错过了发布截止日期,那么就放到下一次的发布)。Saab
简单提了提新的 LTS 版本和 Oracle
支持模式,关于这些,在社区内目前存在很多困惑(InfoQ
最近报道了与该主题相关的“Java 还是免费的”Java Champion 声明)。

  • 不再更新,继续无限期地使用 Oracle JDK 8 ;

  • 使用来自其他服务商的免费 Java SE 8 / OpenJDK 8 二进制分发版。

该主旨演讲部分的结尾,是向 OpenJDK
社区中很多贡献者的致谢感言,同时也提到了几个 Oracle 资助的 Java
社区支持项目,包括Java Magazine、Java User Groups、Java
Champions、jDuchess 项目、Oracle Academy Student Outreach以及Java
Community Process。

上面也有提到,由于 Oracle 在7月份改变了 Java SE 的商业支持模式,所以从
Java 11 开始,支持方式有所不同:

澳门新葡亰信誉平台游戏 3

Oracle OpenJDK – 使用 GPLv2 + CE 许可,可用于商业用途;
Oracle JDK – 使用付费商业许可(个人和非商业使用免费)。

接下来演讲的是 Oracle 的 Java 平台团队首席架构师 Mark
Reinhold。演讲一开始,他先提醒听众,迁移到新的 Java
模块系统是个非常大的挑战,因为需要重写大量内部组件。但是,自从 Java 9
中发布该功能以来,应用效果一直不错,并且开始实现了收益。Reinhold
鼓励每个 Java 开发人员都看看这个新功能,并给大家推荐了几本入门书。

最后附上各版本支持路线图:

澳门新葡亰信誉平台游戏 4

澳门新葡亰信誉平台游戏 5

新的模块化架构改进了平台发布节奏,并回应了 Saab 早先的评论,Reinhold
提到了 Java 10 和 Java 11 成功地按时交付,也提到了 LTS
发布会带来的影响(主要是跟 Oracle 提供的商业支持有关,尽管其他供应商和
AdoptOpenJDK 计划也提供替代的构建和社区驱动以及商业支持模块)。

澳门新葡亰信誉平台游戏 6

该部分主旨演讲的核心信息是“Java 仍然免费”,OracleJDK 和 OpenJDK
构建非常类似(尤其是首个每半年一次的 LTS
发布,尽管构建可能在此日期后会出现分歧,这取决于会发布什么安全性和错误补丁到上游
OpenJDK 存储库)。Reinhold
提到了“关于新发布模型的五大误解”,其中包括错误地认为,非 LTS
发布是实验性的,如果维护的是不经常迁移的系统,那么可以忽略非 LTS
的发布。

(文/开源中国)    

他还讨论了用最新的 Java
版本测试开源项目的社区工作,提到了两个推特标签:#WorksFineOnJDK9 和
#WorksLikeHeavenOnJDK11。强烈建议所有在使用 Java 9
或更高版本的开发人员升级到最新的版本,包括所有在使用的工具和依赖项。

澳门新葡亰信誉平台游戏 7

接着,Reinhold 换了一个话题,开始展望未来。目前,Java 12 / JDK 12 有 4
个与之相关的 JEP,包括新switch 表达式的预览和原始字符串字面量,以及“一个
AArch64 端口,而非两个”和默认的 CDS
存档。“面对编程范例、应用领域、部署风格和硬件的不断发展”,几个未来功能的重点放在了开发人员的生产力和程序性能上。

该主旨演讲的最后部分重点介绍了 4 个 OpenJDK 的新项目。

Amber:“调整语言仪式的大小”,包括局部变量类型推断、无需转义排序的原始字符串字面量。

Loom:“Continuations 和纤程”,包括删除旧的“无意义”或与线程有关的不良 API
方法,添加纤程,即“由 Java
虚拟机管理的轻量级高效线程、让开发人员能够使用同样简单的抽象,但具有更好的性能和占用更小的空间”。

Panama:非 Java 外部函数和数据接口,包括从 JVM调用本机函数和从 JVM 或
JVM 堆访问本机数据

Valhalla:Value 类型和专用的泛型。

Reinhold 展示了一系列实时编码演示,用的是最新Java 12
build,其中的示例可以从以上链接的各个项目网站上找到。

社区对该 Java 主题演讲的反应总体上是积极的,Paul Bakker
表示“CodeOne!上的主旨演讲很棒,Java 生态系统看起来比以往更好。”Chris
Hegerty 评论道:“CodeOne!上的主旨演讲很棒,尤其是 Mark Reinhold
讲解技术的那部分”。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图